目前我的代码看起来像
$criteria = new CDbCriteria();
$criteria->compare('visible', 1);
$criteria->compare('branch_id', $this->id);
我想做的是做那样的事情
`branch_id`='$this->id' OR `branch_id` is NULL
如何使用compare
功能?
答案 0 :(得分:4)
所以也许你想做
$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-> compare('branch_id',array($ this-> id,null));
你可以在代码中看到:
https://github.com/yiisoft/yii/blob/1.1.14/framework/db/schema/CDbCriteria.php#L414
“如果值是一个数组,则通过数组中任何值的完全匹配来完成比较。”