Yii find所有这些至少符合几个标准中的一个


Yii findAll that match at least one of several criteria

我正在Yii中实现一个simpleQuery操作,以使findAll记录至少与几个CDbCriteria中的一个匹配,或者在必要时仅与一些搜索条件匹配。例如,我希望用户能够通过键入一个字符串来查询我的记录。该字符串应针对四列中的每一列进行检查,结果集应包括至少有一列与该字符串匹配的所有记录(没有重复项)。我还是Yii的新手,所以我们非常感谢您的帮助。

假设您在模型的$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);