Je travaille sur un Cakephp 2.x. J'ai une requête comme ceci:Données cakephp de plusieurs tables rejoindre la requête
$this->bindModel(array(
'belongsTo' => array(
'Contact' => array(
'className' => 'Contact',
'foreignKey' => false,
'conditions' => array(
'Message.user_id = Contact.user_id',
array('Message.mobileNo' => array('Contact.mobileNo',
'Contact.workNo',
'Contact.homeNo',
'Contact.other')),
),
'order'=>'Message.idTextMessage DESC',
)
)
), false);
return $this->find('all', array('conditions' => array('Message.User_id' => $userid),
'contain' => array('Contact'),
'fields' => array('Message.mobileNo',
'Contact.mobileNo',
'Contact.workNo',
'Contact.homeNo',
'Contact.other',
'Contact.name',
'Message.dateTime',
'Message.type',
'Message.body'),
'group' => 'Message.mobileNo',
'limit' => 6));
}
La requête ne fonctionne pas comme prévu. Eh bien, je comprends le problème. Le problème est lorsque j'imprime cette requête.Il est d'ajouter cette citation unique ('') autour ('Contact.mobileNo') comme ceci ET Message
. mobileNo
IN ('Contact.mobileNo', 'Contact.workNo', 'Contact.homeNo', 'Contact.other'))
Alors, quand je supprimer les citations dans JOJ SQL. La requête fonctionne. Je pense que je ne trouve pas le mobileno, le workno, etc. des contacts ici dans cette partie. Quelqu'un sait ce que je devrais faire?
bien si vous voulez voir la simple requête SQL qui fonctionne parfaitement .. est ici
SELECT Message.mobileNo,
Contact.mobileNo,
Contact.workNo,
Contact.homeNo,
Contact.other,
Contact.name,
Message.body,
Message.idTextMessage
FROM cakephp_db.textmessage AS Message
LEFT JOIN cakephp_db.contacts AS Contact ON Message.user_id = Contact.user_id
AND Message.mobileNo IN (Contact.mobileNo, Contact.workNo, Contact.homeNo, Contact.other)
WHERE Message.User_id = 23
GROUP BY Message.mobileNo
ORDER BY Message.idTextMessage DESC LIMIT 6
thankyouuuuuuuuuuuuuuuuuuuuuuuuuu sp beaucoup – hellosheikh