gpt4 book ai didi

cakephp - 如何在CakePHP中的两个连接表中按条件查找

转载 作者:行者123 更新时间:2023-12-04 23:24:20 25 4
gpt4 key购买 nike

在我的 CakePHP 应用程序中,我有三个表:
Businesses , TownsCategories .

一个企业可以属于多个城镇和多个类别,所以我创建了连接表和 hasManybelongsTo关系。通过使用城镇或类别模型进行搜索,按城镇或类别查找企业时一切正常,但是当我想搜索某个城镇和某个类别中的企业时,我完全陷入困境,例如。伦敦的水管工。

使用商业模式搜索时,这些关联似乎不起作用,我得到 column not found尝试使用关联表时出错。我认为这符合需要做的事情,但我无法让它工作:

$this->set('listings', $this->Business->find('all', array(
'conditions' => array(
'Business.approved' => 1,
'BusinessesCategory.category_id' => $id,
'BusinessesTown.town_id' => $town_id,
'Business.sasite' => 1
)

最佳答案

您需要加入表格才能做到这一点。
我将在上面举一个例子,如何使用类别,你可以自己做这个城镇。

$this->Business->find("all", array(
"joins" => array(
array(
"table" => "businness_categories",
"alias" => "BusinessesCategory",
"type" => "LEFT",
"conditions" => array(
"Businesses.id = BusinessesCategory.business_id"
)
),
array(
"table" => "categories",
"alias" => "Category",
"type" => "LEFT",
"conditions" => array(
"BusinessesCategory.category_id = Category.id"
)
)
),
'conditions' => array(
'Business.approved' => 1,
'Category.id' => $id,
)
));

您也可以使用行为为您执行此操作:
https://github.com/Scoup/SuperJoin

关于cakephp - 如何在CakePHP中的两个连接表中按条件查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15750705/

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