इस तरह एक प्रश्न के साथ:वाईआई: सीडीबीक्रिटिरिया के साथ ग्रुप से पहले कैसे ऑर्डर करें?
SELECT * FROM (
SELECT * FROM message ORDER BY added_on DESC
) as m WHERE receiver_id = 2 GROUP BY sender_id ORDER BY priority_id DESC;
मुझे पता है कि findAllBySql
का उपयोग कर यह करने के लिए:
$this->findAllBySql(
'SELECT * FROM (
SELECT * FROM message ORDER BY added_on DESC
) as m WHERE receiver_id = :receiverId
GROUP BY sender_id
ORDER BY priority_id DESC',
array('receiverId' => $userId));
लेकिन अगर इस CDbCriteria कारण का उपयोग कर निम्न कोड करने के लिए कोई रास्ता नहीं है मैं सोच रहा था , ज़ाहिर है, काम नहीं करता है:
$criteria = new CDbCriteria();
$criteria->condition = 'receiver_id = :receiverId';
$criteria->group = 'sender_id';
$criteria->order = 'priority_id DESC, added_on DESC';
$criteria->params = array('receiverId' => $userId);
धन्यवाद।
क्या इससे मदद मिलती है? http://stackoverflow.com/questions/8467698/sub-queries-activerecord-yii –
दिलचस्प है, इसलिए उस लिंक को पढ़ना सीडीबीक्रिटारिया का उपयोग करना संभव नहीं है। धन्यवाद! – Puigcerber