我正在Yii中对simpleQuery
个记录执行findAll
次操作,这些记录至少与多个CDbCriteria
中的一个匹配,或者只在必要时,只搜索一些搜索条件。例如,我希望用户能够通过键入一个字符串来查询我的记录。应该针对四列中的每一列检查该字符串,并且结果集应该包括至少有一列与字符串匹配的所有记录(没有重复项)。我还是Yii的新手所以非常感谢任何帮助。
答案 0 :(得分:2)
假设您在模型的$ search_input字段中有搜索输入,并且您想要搜索该字符串的所有三个字段 - name,title和desc,您可以这样做 -
$criteria = new CDbCriteria();
$criteria->compare('name', $this->search_input, TRUE, 'OR');
$criteria->compare('title', $this->search_input, TRUE, 'OR');
$criteria->compare('desc', $this->serach_input, TRUE, 'OR');
$result = MyModel::model()->findAll($criteria);