Php 使用条件或在CDBC标准中

Php 使用条件或在CDBC标准中,php,yii,Php,Yii,目前我的代码是这样的 $criteria = new CDbCriteria(); $criteria->compare('visible', 1); $criteria->compare('branch_id', $this->id); `branch_id`='$this->id' OR `branch_id` is NULL 我想做的就是做那样的事 $criteria = new CDbCriteria(); $crite

目前我的代码是这样的

    $criteria = new CDbCriteria();
    $criteria->compare('visible', 1);
    $criteria->compare('branch_id', $this->id);
`branch_id`='$this->id' OR `branch_id` is NULL
我想做的就是做那样的事

    $criteria = new CDbCriteria();
    $criteria->compare('visible', 1);
    $criteria->compare('branch_id', $this->id);
`branch_id`='$this->id' OR `branch_id` is NULL
如何使用
比较
功能执行此操作?

所以也许你想

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

$criteria->mergeWith($idCrit);
$criteria
在哪里保存所有其他内容

进一步阅读

(请特别查看
$operator
参数。)

所以也许你想

$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('field', array(NULL));
使用此选项:
$criteria->compare('branch_id',array($this->id,null))

正如您在代码中看到的:


“如果值是数组,则通过与数组中任何值的精确匹配来进行比较。”

使用此选项:
$criteria->compare('branch_id',array($this->id,null))

正如您在代码中看到的:


如果值是数组,则通过与数组中任何值的精确匹配来进行比较