带有" has_and_belongs_to_many"的模型 - 如何通过id列表进行查询?

时间:2017-02-03 14:25:55

标签: ruby-on-rails ruby ruby-on-rails-5

我有一个型号Model1,其中包含:

has_and_belongs_to_many :child_items

是否可以通过ID列表查询child_items?类似的东西:

model1.child_items.where(id: [1, 2, 3])

是的,我可以这样做:

ChildItem.where(id: [1, 2, 3])

但是通过Model1它会更好,因为我会成为一个加入,而不仅仅是child_items,而是那些真正属于Model1的人,可能在[1,2,3]中也可能有其他ID。

因此,我该怎么做?

2 个答案:

答案 0 :(得分:1)

model1.child_items.where('child_items.id IN (?)', [1, 2, 3])

答案 1 :(得分:-1)

我会改用这种方法:

model1_instance.child_items.where(child_items: { id: [1, 2, 3] })

Rails允许您将表名称作为哈希键传递,然后添加要查询的任何参数。