我有Model1和Model2彼此has_and_belongs_to_many
。
给定Model2的id列表,如何查询与它们关联的Model1?
我必须使用连接,但究竟如何?如果它是一对多的,我就这样做:
select m1.* from model1 as m1
inner join model2 as m2
on m1.id = m2.m1_id
where m2.id in (?)
答案 0 :(得分:1)
您可以使用您手动构建的相同查询在Rails中完成此操作,在ActiveRecord
中表示为
Model1.joins('inner join model2').where(model2: { id: list_of_ids })