Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 作用域的ActiveRecord嵌套查询_Mysql_Ruby On Rails_Activerecord_Scope_Querying - Fatal编程技术网

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不能急切地在你的方案中加载多态关联:pagavelMissed
polymorphic
,如果你真的需要的话,使用此解决方案嘿,这里,谢谢回答,我做到了:Parcela.includes(pagamento::pagavel)。where(pagavels:{agencia_id:1}),get不能急切地加载多态关联:pagavelMissed
polymorphic
在您的方案中,如果您确实需要,请使用此解决方案