Adi*_*att 10 cakephp nested find conditional-statements
以下是我的条件:
'OR' =>
array(
'AND' => array(
array('EventCompetitor.is_black' => 1),
array('EventCompetitor.is_adult' => 1)
),
'AND' => array(
array('EventCompetitor.is_black' => 0),
array('EventCompetitor.is_adult' => 0)
),
),
Run Code Online (Sandbox Code Playgroud)
当我调试我的查询时,它是这样的,这是错误的:
AND ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0)) AND
Run Code Online (Sandbox Code Playgroud)
现在,这不是我想要的,我希望它是这样的:
((`EventCompetitor`.`is_black` = 1) AND (`EventCompetitor`.`is_adult` = 1)) OR ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0))
Run Code Online (Sandbox Code Playgroud)
任何想法,我怎样才能实现它?
谢谢 !
Jas*_*son 16
"OR"键控数组中的子键名称相同,第二个键有效地覆盖第一个键.您需要将这些"AND"条件封装在自己的数组中,以防止密钥冲突.
例如.代替:
'OR' =>
array(
'AND' => array(
array('EventCompetitor.is_black' => 1),
array('EventCompetitor.is_adult' => 1)
),
'AND' => array(
array('EventCompetitor.is_black' => 0),
array('EventCompetitor.is_adult' => 0)
),
),
Run Code Online (Sandbox Code Playgroud)
做:
'OR' =>
array(
array('AND' => array(
array('EventCompetitor.is_black' => 1),
array('EventCompetitor.is_adult' => 1)
)),
array('AND' => array(
array('EventCompetitor.is_black' => 0),
array('EventCompetitor.is_adult' => 0)
)),
),
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31485 次 |
| 最近记录: |