Rails如何通过关联的ID包含数组查找记录

威廉·哈里

has_and_belongs_to创建的课程has_many标签,现在给定两个标签ID [1,2],如何查找同时具有这两个标签的所有课程

Course.joins(:tags).where("tags.id IN (?)" [1, 2]) 将返回具有标签之一的记录,而不是我想要的

# app/models/course.rb
has_and_belongs_to_many :tags



# app/models/tag.rb
has_and_belongs_to_many :courses
马克斯·威廉姆斯

这不是一个单独的请求,但是可能仍然与其他解决方案一样快,并且可以适用于任意数量的标签。

tag_ids = [123,456,789,876] #this will probably come from params
@tags = Tags.find(tag_ids)
course_ids = @tags.inject{|tag, next_tag| tag.course_ids & next_tag.course_ids} 
@courses = Course.find(course_ids)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过关联访问记录数组

来自分类Dev

通过关联找到记录

来自分类Dev

为什么Rails孤儿通过关联联接多态记录?

来自分类Dev

当多次引用模型时,如何通过关联查找?

来自分类Dev

如何通过关联Mongoid 4查找所有文档

来自分类Dev

如何通过关联数组中的键访问值

来自分类Dev

Cakephp通过关联模型查找订单

来自分类Dev

通过关联查找商品?

来自分类Dev

通过关联从多个查找单个匹配和不匹配的记录

来自分类Dev

Rails的where子句:通过关联

来自分类Dev

Rails-存储值-通过关联

来自分类Dev

Rails-存储值-通过关联

来自分类Dev

Rails:通过关联聚合查询

来自分类Dev

Rails:通过关联收集吗?

来自分类Dev

Rails 4:通过关联循环

来自分类Dev

Rails:通过关联搜索(查询)

来自分类Dev

Rails多对多:通过关联

来自分类Dev

Rails:包括嵌套通过关联

来自分类Dev

Rails 4活动记录模型has_many通过关联吗?

来自分类Dev

Rails 4活动记录模型has_many通过关联吗?

来自分类Dev

在has_many上,Rails 5 _ids数组的分配失败:通过关联

来自分类Dev

无法使用has_many通过关联将ID的数组插入联接表中

来自分类Dev

Rails查找所有关联ID匹配的记录

来自分类Dev

Rails 5:如何通过关联的模型属性对模型进行排序,并使它们不同

来自分类Dev

通过关联的问题

来自分类Dev

Grails命名查询-通过关联查找

来自分类Dev

CakePHP 3.x-hasMany通过关联-查找

来自分类Dev

Rails-Ransack-通过关联进行搜索

来自分类Dev

has_many的Rails触摸链:通过关联