Я работаю над CakeFp 2.x. У меня есть запрос:данные cakephp из нескольких таблиц join query
$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));
}
Запрос не работает должным образом. Я выясню проблему. Проблема заключается в том, когда я печатаю этот запрос. Он добавляет эту одинарную цитату ('') вокруг («Contact.mobileNo»), как это И Message
. mobileNo
IN ('Contact.mobileNo', 'Contact.workNo', 'Contact.homeNo', 'Contact.other'))
Так что, когда я извлекаю цитаты в SQL йог. Запрос работает. Я имею в виду, я думаю, что он не находит mobileno, workno и т. Д. Из контактов здесь в этой части. Кто-нибудь знает, что мне делать?
хорошо, если вы хотите, чтобы увидеть простой SQL-запрос, который работает идеально .. здесь
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
thankyouuuuuuuuuuuuuuuuuuuuuuuu sp much – hellosheikh