2012-11-16 70 views
1

我似乎無法弄清楚這一點。如果它達到一個深度,我可以做到。 (使用類似A.joins(:bs).where("bs.paid = TRUE")Rails:由第二個孩子屬性過濾模型

但我有一個模型A has_many BB has_one C。最後C有一個屬性paid

我想獲得所有A的地方C.paid == true

我在尋找類似A.joins({:b, :c}).where("c.paid == True")

回答

1
paid_items = Array.new 

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

感謝,但是我正在尋找使用ActiveRecord的答案。 – az7ar

+0

可讀性對我來說非常重要。 'A.bs'和'b_item.c'正在使用'ActiveRecord'。這樣它更具可讀性。 –

+0

我目前正在使用與您的解決方案完全相似的解決方案。但我認爲使用Arel可以輕鬆完成。 – az7ar