加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在CakePHP中操作JOINS顺序

发布时间:2020-12-13 17:04:03 所属栏目:PHP教程 来源:网络整理
导读:我对Cake PHP有以下问题: 在我的模型中,存款属于帐户,而帐户属于客户. 查询存款时,默认情况下,我会收到帐户信息,但不会收到客户信息. 如果我将Deposit-递归设置为2,我会获得客户信息(以及更多信息),但CakePHP实际上每个存款都会抛出一个SELECT,这在这种情况
我对Cake PHP有以下问题:

在我的模型中,存款属于帐户,而帐户属于客户.

查询存款时,默认情况下,我会收到帐户信息,但不会收到客户信息.

如果我将Deposit->递归设置为2,我会获得客户信息(以及更多信息),但CakePHP实际上每个存款都会抛出一个SELECT,这在这种情况下非常糟糕.

所以,我这样做了:

'joins' => array(
    array('table'=>'customers','alias'=>'Customer','type'=>'left','foreignKey' => false,'conditions'=>array('Account.customer_id = Customer.id'))
)

哪几乎有用……

我从中得到的是基本上:

SELECT (...) FROM Deposits LEFT JOIN Customers LEFT JOIN Accounts

代替

SELECT (...) FROM Deposits LEFT JOIN Accounts LEFT JOIN Customers

这当然不起作用.

反正有没有指定“我的自定义连接”应该在“常规模型连接”之后?
或者我是否必须手动取消绑定来自帐户的存款,并手动指定两个连接?

谢谢!
丹尼尔

解决方法

您需要取消绑定要放在顶部的模型,并在“连接”数组中包含相应的数组.有关详细信息,请参阅 this问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读