目前我的代码看起来像这样
$criteria = new CDbCriteria();
$criteria->compare('visible', 1);
$criteria->compare('branch_id', $this->id);
我想要的是做这样的事情
`branch_id`='$this->id' OR `branch_id` is NULL
如何用compare
功能做到这一点?
所以也许你想做
$idCrit = new CDbCriteria();
$idCrit->compare('branch_id', $this->id);
$idCrit->addCondition('branch_id is NULL', 'OR');
$criteria->mergeWith($idCrit);
所有其他的东西在哪里$criteria
?
一些进一步的阅读;
(具体看$operator
论证。)
这对我有用:
$criteria->compare('field', array(NULL));
使用这个:
$criteria->compare('branch_id', array($this->id, null));
正如您在代码中看到的:
https://github.com/yiisoft/yii/blob/1.1.14/framework/db/schema/CDbCriteria.php#L414
“如果该值是一个数组,则比较通过精确匹配中的任何值来完成阵列。”