什么';这个查找条件有问题


What's wrong with this find condition

以下工作,它给了我所有删除为空的数据:

$conditions = array('OR' => array(
    'Task.deleted' => null,

    )
);

$this->set('tasks', $this->Task->find('all', array('recursive' => 2, 'conditions' => $conditions)));

类似地,下面给了我所有删除的数据是0

$conditions = array('OR' => array(
 'Task.deleted' => 0,

)
); //...

但如果我像下面这样组合它,它会给我数据,其中deleted为null,而不是deleted为0。

$conditions = array('OR' => array(
        'Task.deleted' => 0,
        'Task.deleted' => null
        )
);

您试图设置两次PHP数组键'Task.deleted',并覆盖它

'Task.deleted' => array(0, null)

或:

'OR' => array(
    array('Task.deleted' => 0),
    array('Task.deleted' => null)
)

阅读此

http://book.cakephp.org/1.3/view/1030/Complex-Find-Conditions

$conditions = array(
    'OR' => array(
       array('Task.deleted' => 0),
      array('Task.deleted' => null)
    )
    );
$this->set('tasks', $this->Task->find('all', array('recursive' => 2, 'conditions' => $conditions)));