CakePHP:使用find方法

时间:2015-07-30 11:45:45

标签: cakephp

我想在我的视图中对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

1 个答案:

答案 0 :(得分:4)

您需要使用OR作为条件类型。 Cake默认使用AND

$conditions = array(
    'OR' => array(
        'Grade.category'=>$category,
        'Grade.type'=>$type,
        'Grade.reference'=>$reference,
        'Grade.url'=>$url
    )
)