gpt4 book ai didi

mysql - 查询以查找关联模型(有很多)在 cakephp 中为空的位置

转载 作者:行者123 更新时间:2023-11-29 06:36:20 25 4
gpt4 key购买 nike

我有一个名为 Application 的模型。 Application 关联到名为 Locationhas_many 模型。

Application 有很多Location

在我的申请查询中:

$this->Application->find('all', array('conditions' => 'Application.status' => 'accepted'));

我正在查找应用程序,其中statusaccepted

我想要实现的下一件事是找到 Application 记录,其中关联的 Location 为空/null,或者换句话说,其中 count Location 记录的数量为 0。

我试着像这样进行join查询:

 $join_query = array(
'table' => 'locations',
'alias' => 'Location',
'type' => 'INNER',
'conditions' => array(
'Location.application_id = Application.id',
'OR' => array(
array('Location.id' => NULL)
)
)
);

但它似乎只是在查询确实具有关联的 Location 记录的 Application 记录。

如果你们有任何想法,请提前致谢。

最佳答案

您需要使用左联接,而不是内联接。内部联接将只获得在您要联接的两个表中都有一行的那些结果,您只需要在左表中只有一行的结果。左联接将获得左表中的所有结果,无论右表中是否有与其关联的行。然后在join完成后添加一个条件,只选择那些Location.id为null的join结果。

$this->Application->find('all',
array(
'conditions' => array('Location.id' => null),
'joins' => array(
array(
'table' => 'locations',
'alias' => 'Location',
'type' => 'LEFT',
'conditions' => array('Location.application_id = Application.id')
),
),
)
);

关于mysql - 查询以查找关联模型(有很多)在 cakephp 中为空的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24455703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com