我有一个搜索输入来搜索标题字段,我想在title
和description
字段中使用相同的输入进行搜索,它是否可用?
这是我的搜索功能:
$query = $this->request->query['search'];
$category_id = $this->request->query['category_id'];
$multimedia_type_id = $this->request->query['multimedia_type_id'];
$conditions = array(
'conditions' => array(
'and' => array()));
if ($query) $conditions['conditions']['and']['Multimedia.title LIKE' ] = "%$query%";
if ($category_id) $conditions['conditions']['and']['Multimedia.category_id'] = $category_id ;
if ($multimedia_type_id) $conditions['conditions']['and']['Multimedia.multimedia_type_id'] = $multimedia_type_id ;
我想同时在titles
和description
上搜索
答案 0 :(得分:2)
您想说的是您需要使用说明或标题进行搜索。那是OR
而不是and
。然后将此OR
与额外and
合并。
所以检查一下:
$conditions = array(
'AND' => array(
'OR' => array(
'Multimedia.title LIKE' => "%$query%",
'Multimedia.description LIKE' => "%$query%",
),
'AND' => array(
'Multimedia.multimedia_type_id' => $multimedia_type_id
'Multimedia.category_id' => $category_id
)
)
);