我想在我的视图中对5列进行免费搜索。我有5列 1.类别 2.输入 3.参考 4.网址
现在,如果用户输入此数据 CATEGORY == file,TYPE == technical,REFERENCE == umair,URL == files / umair.jpg
我想搜索数据库中的所有行,其中第一列的任何行中都存在一个cateogry“file”,并在列的任何行中键入“technical”等等我正在尝试应用“OR”条件但是给出错误。
这是我的问题:
$this->set('Grades', $this->Grade->find('all', array('conditions'=>array('Grade.category'=>$category,'Grade.type'=>$type,'Grade.reference'=>$reference,'Grade.url'=>$url))));
这个查询返回只有一行包含类别==文件AND类型==技术和参考== umair和url == files / umair.jpg但我希望它应该返回category == file OR的所有行type == technical OR reference == umair OR url == files / umair.jpg
答案 0 :(得分:4)
您需要使用OR作为条件类型。 Cake默认使用AND
$conditions = array(
'OR' => array(
'Grade.category'=>$category,
'Grade.type'=>$type,
'Grade.reference'=>$reference,
'Grade.url'=>$url
)
)