CakePHP多个或多个条件
我想创建一个简单的查询,但我似乎不知道如何使用Cakes条件Cakes 1.3来实现它,我想做的是非常简单的,在SQL中它只是CakePHP多个或多个条件,php,cakephp,cakephp-1.3,Php,Cakephp,Cakephp 1.3,我想创建一个简单的查询,但我似乎不知道如何使用Cakes条件Cakes 1.3来实现它,我想做的是非常简单的,在SQL中它只是 SELECT * FROM table WHERE firstvalue != '' OR secondvalue != '' 所以基本上只有在firstvalue或SecondValue中有值时才返回行 现在我有 $conditions = array( "NOT" => array( 'firstvalue' => ''
SELECT * FROM table WHERE firstvalue != '' OR secondvalue != ''
所以基本上只有在firstvalue或SecondValue中有值时才返回行
现在我有
$conditions = array(
"NOT" => array(
'firstvalue' => ''
)
);
这对第一个值很有效,但如果我尝试向其添加任何内容,它仍然只返回第一个值的结果。要在或条件中添加多个字段,必须在数组中写入字段 像
我希望它对您有用。有两种方法:
$conditions = array(
'OR' => array(
array('NOT' => array('firstvalue' => '')),
array('NOT' => array('secondvalue' => ''))
)
);
或者,利用非a或非b==非a和b的事实:
$conditions = array(
'NOT' => array(
array('firstvalue' => ''),
array('secondvalue' => '')
)
);
这似乎返回两个值都为空的结果,这将使select语句成为一条语句,而不是ORAs语句,这将返回第一个值不为空或第二个值为空的结果。那不是OP要求的。在第二个条件下添加NOT时要小心,因为这将导致键冲突,并且只保留第二个。
$conditions = array(
'NOT' => array(
array('firstvalue' => ''),
array('secondvalue' => '')
)
);