cakephp trouver toutes les conditions ET OU
Ci-dessous est ma condition:
'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)
),
),
Quand je debug ma requête, il s'agit de quelque chose comme ce qui est faux:
AND ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0)) AND
Maintenant, ce n'est pas ce que je veux, je veux quelque chose comme ceci:
((`EventCompetitor`.`is_black` = 1) AND (`EventCompetitor`.`is_adult` = 1)) OR ((`EventCompetitor`.`is_black` = 0) AND (`EventCompetitor`.`is_adult` = 0))
Aucune idée, comment puis-je l'atteindre?
Merci !
source d'informationauteur Aditya P Bhatt | 2011-04-13
Vous devez vous connecter pour publier un commentaire.
votre sous-clés dans votre "OU" tableau à clé sont du même nom, avec la deuxième clé efficacement l'écrasement de la première. vous avez besoin d'encapsuler ces "ET" la situation dans leurs propres tableaux, pour empêcher la clé de collision.
par exemple. au lieu de:
faire:
Je ne l'ai pas testé, mais je pense que vous avez besoin de ce qui suit:
AND
est implicite entre les conditions, vous n'avez qu'à définirOR
groupesJe pense que vous avez besoin d'un supplément array (), je ne sais pas mais sa vaut le coup d'essayer: