Rails:按2nd childs属性过滤模型

时间:2012-11-16 20:16:55

标签: sql ruby-on-rails arel

我似乎无法弄清楚这一点。如果它深入一层,我就可以做到。 (使用A.joins(:bs).where("bs.paid = TRUE")

之类的东西

但我有一个模型A has_many BB has_one C。最后,C有一个属性paid

我想让所有A的{​​{1}}。

我正在寻找像C.paid == true

这样的东西

2 个答案:

答案 0 :(得分:1)

paid_items = Array.new

A.bs.each do |b_item|
  paid_items << b_item if b_item.c.paid
end

答案 1 :(得分:1)

这样的东西?

A.joins(:b, :c).where(:conditions => ["c.paid = ?", true])

在这里找到,看看它可能会让你感兴趣: “ 11.2.2加入多个关联http://guides.rubyonrails.org/active_record_querying.html