Ho un modello chiamato User
che ha un Virtual field chiamato full_name
. Quando accedo mio modello User
in una query find(), è possibile impostare le condizioni sul mio campo virtuale senza alcun problema come questo:modello cakephp virtualFields non funziona via contiene
$user = $this->User->find('first', array(
'recursive' => -1,
'conditions' => array(
'User.full_name' => 'Bruce Thomas'
)
));
La query sopra di me tornerà con successo i dati per l'utente chiamato Bruce Thomas. Ma il problema sorge quando cerco di usare il mio modello per l'utente attraverso un altro modello tramite il comportamento contenibile in questo modo:
$user = $this->MyOtherModel->find('first', array(
'contain' => array('User'),
'conditions' => array(
'MyOtherModel.id' => $my_other_model_id
'User.full_name' => 'Bruce Thomas'
)
));
(Questo esempio di cui sopra presuppone che MyOtherModel
ha un rapporto belongsTo
con il mio modello MyOtherModel
)
Il query sopra mi dà il seguente errore:
Warning (512): SQL Error: 1054: Unknown column 'User.full_name' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 681]
Qualsiasi aiuto su come posso fare questo per favore? Grazie
si può aggiungere/set 'configure :: Write ('debug', 2),' in "app/config/core.php "e aggiungi l'elemento' php echo $ this-> ('sql_dump'); ?> 'nel tuo codice per controllare le query? –
Si può copiare il risultato senza condizioni? –