在CakePHP 3中包含联接后联接子查询

我目前在CakePHP 3中遇到问题-我正在尝试将子查询联接到现有查询上,但是ORM在处理“包含”方法之前添加了子查询,但是子查询联接依赖于所包含的一些表。有什么方法可以强制联接在 包含之后运行?

我的代码相当长且令人费解,但是我将写一个简单的示例:

clist

现在,这段代码过于简单,显然没有必要,但是问题本质上是ORM将生成一个查询,该查询首先尝试执行联接,并且联接将失败,因为还没有联接Users.id。有什么办法可以使容器首先运行?

hyk123456789 回答:在CakePHP 3中包含联接后联接子查询

AFAIK顺序(尚未)不会受到影响,包含和匹配项(也就是*JoinWith()方法)将在手动加入后出现,另请参见 https://github.com/cakephp/cakephp/issues/10746

>

因此,您可能也必须手动加入Users关联,而不是使用contain()

本文链接:https://www.f2er.com/3049301.html

大家都在问