2015-11-04 57 views
1

這裏ActiveRecord的嵌套查詢是我的方案:的範圍

parcelas belongs_to pagamento 
pagamento belongs_to :pagavel, polymorphic: true 
pagavel belongs_to :agencia 

現在我想創建Parcela的涵蓋範圍看起來像

Parcela.from_agencia(agencia_id)和將查詢只屬於屬於屬於該agencia_id pagavel pagamento的Parcelas。

+0

你可以連續一串範圍的?因此,爲每個單獨的查詢定義一個範圍。 – azrosen92

+0

你會怎麼建議? – Guido

回答

0

使用scope在parcela.rb joins

scope :from_agencia, ->(agencia_id) { joins(pagamento: :pagavel).where(pagavels: {agencia_id: agencia_id}) }

+0

嘿,回答thans,我所做的:Parcela.includes(pagamento:pagavel)。凡(pagavels:{agencia_id:1}),並得到了不能急於加載多態性關聯:pagavel – Guido

+0

錯過'polymorphic'在方案中,如果你真的需要它,使用此解決方法http://stackoverflow.com/questions/16123492/eager-load-polymorphic – Inpego