使用条件或在cdbcriteria中

时间:2013-04-24 17:17:04

标签: php yii

目前我的代码看起来像

    $criteria = new CDbCriteria();
    $criteria->compare('visible', 1);
    $criteria->compare('branch_id', $this->id);

我想做的是做那样的事情

`branch_id`='$this->id' OR `branch_id` is NULL

如何使用compare功能?

3 个答案:

答案 0 :(得分:4)

Yii condition <IS NULL>

所以也许你想做

$idCrit = new CDbCriteria();
$idCrit->compare('branch_id', $this->id);
$idCrit->addCondition('branch_id is NULL', 'OR');

$criteria->mergeWith($idCrit);

$criteria在哪里举行所有其他内容?

进一步阅读;

(具体查看$operator参数。)

答案 1 :(得分:0)

这对我有用:

$criteria->compare('field', array(NULL));

答案 2 :(得分:0)

使用此:
$ criteria-&gt; compare('branch_id',array($ this-&gt; id,null));

你可以在代码中看到:
https://github.com/yiisoft/yii/blob/1.1.14/framework/db/schema/CDbCriteria.php#L414

“如果值是一个数组,则通过数组中任何值的完全匹配来完成比较。”