【发布时间】:2017-07-24 11:13:19
【问题描述】:
您好,我在查询中加入了多个表。我想根据我在多个表上检查的搜索关键字获取结果。
这是我的代码
public function getGigPostBasedOnSearch($keyword){
$this->Behaviors->attach('Containable');
return $this->find('all', array(
'contain' => array(
'User','UserInfo', 'GigPostAndCategory.Category','Location','GigPostAndCalender'
),
'conditions' => array(
'AND' => array(
'GigPost.active' => 1,
'OR' => array(
array('GigPost.title LIKE' => '%'.$keyword.'%'),
array('GigPost.description LIKE' => '%'.$keyword.'%'),
array('Location.location_string LIKE' => '%'.$keyword.'%'),
)
)
//'OrderGigPost.request' => 0
),
'order' => 'GigPost.gig_post_id DESC',
'recursive' => 0
));
}
查询成功运行,并得到我想要的结果。但在同一个查询中,我也想在 Category 表中进行搜索。但是如果我这样做了
array('Category.cat_name LIKE' => '%'.$keyword.'%')
我收到一条 sql 错误,提示找不到列名。
类别表有两列
cat_id 和 cat_name
和 GigPostAndCategory 有
id, cat_id,gig_post_id(因为一个gigpost 可以有多个类别,所以我为此制作了一个单独的表格)
因此,如果搜索的关键字与类别中的某些内容匹配,我也需要帮助来获得基于类别的结果
【问题讨论】:
标签: php mysql cakephp cakephp-2.0 cakephp-2.3