Originaly posted on cakephp Q & A ma lo metterò qui nella speranza di ottenere delle risposte.cakephp OR condition
Ho un gruppo di aziende che ha uno stato di 0 come impostazione predefinita ma a volte ottiene uno stato più elevato. Ora voglio usare lo stato alto se esiste ma tornare a 0 se non lo è. Ho provato un sacco di approcci diversi ma ottengo sempre solo quelli con lo stato 0 o quelli con lo stato che voglio, mai dandomi lo stato se esiste e 0 se non.
mi dà solo lo stato a specificare, non mi dà quelle con stato 0:
'Company' => array (
'conditions' => array (
'OR' => array(
'Company.status' => 0,
'Company.status' => $status,
)
)
)
mi dà solo status di 0:
'Company' => array (
'conditions' => array (
'OR' => array(
'Company.status' => $status,
'Company.status' => 0
)
)
)
definizione di stato e di recupero dei dati in codice:
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.
}
Ho cambiato il nome per i modelli per questa domanda solo per avere più senso, peopl Sono generalmente spaventati quando dico loro che lavoro con cakephp per la mia applicazione flex. Immagino che la logica di questa domanda non abbia senso, ma fidati di me che abbia senso nella mia applicazione.
Grazie!
È possibile allegare un dump SQL? (Usa $ this-> Element ('sql_dump'); nella tua vista, assicurati di Configure :: debug> 0). – Oldskool
Questo non funzionerà poiché sto chiamando le funzioni in torta dall'interno della mia applicazione flex. Le query non verranno visualizzate sulla mia vista. – eldamar