Mysql 作用域的ActiveRecord嵌套查询
以下是我的计划: 我有Mysql 作用域的ActiveRecord嵌套查询,mysql,ruby-on-rails,activerecord,scope,querying,Mysql,Ruby On Rails,Activerecord,Scope,Querying,以下是我的计划: 我有 parcelas belongs_to pagamento pagamento belongs_to :pagavel, polymorphic: true pagavel belongs_to :agencia 现在我想在Parcela中创建一个范围 Parcela.from_agencia(agencia_id),这将只查询属于pagamento的Parcela,属于pagavel的Parcela属于该agencia_id。在Parcela.rb中使用范围和连接:
parcelas belongs_to pagamento
pagamento belongs_to :pagavel, polymorphic: true
pagavel belongs_to :agencia
现在我想在Parcela中创建一个范围
Parcela.from_agencia(agencia_id),这将只查询属于pagamento的Parcela,属于pagavel的Parcela属于该agencia_id。在Parcela.rb中使用
范围和连接:
scope:from_agencia,->(agencia_id){joins(pagamento::pagavel)。其中(pagavels:{agencia_id:agencia_id})}
在parcela.rb中使用scope
和连接
:
scope:from_agencia,->(agencia_id){joins(pagamento::pagavel)。其中(pagavels:{agencia_id:agencia_id})}
您可以将一组作用域链接在一起吗?那么,为每个单独的查询定义一个范围。你会怎么建议呢?你可以将一系列范围链接在一起?因此,为每个单独的查询定义一个范围。你会怎么建议?嘿,为了回答这个问题,我做了:Parcela.includes(pagamento::pagavel)。where(pagavels:{agencia_id:1}),get不能急切地在你的方案中加载多态关联:pagavelMissedpolymorphic
,如果你真的需要的话,使用此解决方案嘿,这里,谢谢回答,我做到了:Parcela.includes(pagamento::pagavel)。where(pagavels:{agencia_id:1}),get不能急切地加载多态关联:pagavelMissedpolymorphic
在您的方案中,如果您确实需要,请使用此解决方案