Originaly posted sur cakephp Q & A mais je vais le mettre en place ici dans l'espoir d'obtenir des réponses.cakephp OU condition
J'ai un groupe d'entreprises qui a un statut de 0 par défaut mais qui obtient parfois un statut supérieur. Maintenant, je veux utiliser le statut élevé s'il existe mais revenir à 0 sinon. J'ai essayé un tas d'approches différentes mais je reçois toujours soit seulement celles avec le statut 0 ou celles avec le statut que je veux, ne me donnant jamais le statut si existe et 0 sinon.
ne me donne que le statut je précise, ne me donne pas ceux avec le statut 0:
'Company' => array (
'conditions' => array (
'OR' => array(
'Company.status' => 0,
'Company.status' => $status,
)
)
)
me donne seulement l'état 0:
'Company' => array (
'conditions' => array (
'OR' => array(
'Company.status' => $status,
'Company.status' => 0
)
)
)
définition d'état et de récupération des données dans le code:
function getCountry($id = null, $status = null) {
// Bunch of code for retrieving country with $id and all it's companies etc, all with status 0.
$status_less_companies = $this->Country->find...
if ($status) {
$status_companies = $this->Country->find('first', array(
'conditions' => array(
'Country.id' => $id
),
'contain' => array(
'Product' => array (
'Company' => array (
'conditions' => array (
'OR' => array(
'Company.status' => $status,
'Company.status' => 0
)
)
)
)
)
)
}
// Mergin $status_less_companies and $status_companies and returning data to flex application.
}
J'ai changé le nom des modèles pour cette question juste pour avoir plus de sens, peopl Je suis généralement effrayé quand je leur dis que je travaille avec cakephp pour mon application flexible. Je suppose que la logique de cette question n'a pas de sens, mais croyez-moi que cela a du sens dans mon application.
Merci!
Pouvez-vous joindre un vidage SQL? (Utilisez $ this-> Element ('sql_dump'), à votre avis, en vous assurant que Configure :: debug> 0). – Oldskool
Cela ne fonctionnera pas puisque j'appelle des fonctions dans le gâteau à partir de mon application flexible. Les requêtes ne s'afficheront pas sur ma vue. – eldamar