编写关联满足条件的rails查询

时间:2013-03-11 07:54:12

标签: ruby-on-rails ruby-on-rails-3

我有一个模型A belongs_to模型B

模型B有一个布尔字段flag

我想找到所有A,其中A.bs.flag == true

我不知道该怎么做

3 个答案:

答案 0 :(得分:1)

A.joins(:b).where(bs: { flat: true })

请注意,bs用于记录B的复数形式。

答案 1 :(得分:0)

如果您使用Mongo,可以尝试:

A.where( :b.in => B.where( :flag => true ).map(&:id) )

'b'是A(belongs_to b)中的关系名称。

答案 2 :(得分:0)

U可以使用以下查询来获取其标志设置为true的所有A的表单B.

@a = A.bs.where(:flag => true)