2016-10-05 62 views
0

我想按特定順序列出表中的值。但它在某種條件下工作,而不適用於其他條件。以下是代碼在Yii中按條件排序不能正常工作

$criteria = new CDbCriteria(); 
$criteria->condition = 'courseid =:courseid AND batchid =:batchid'; 
$criteria->params = array(':courseid' => $courseid, ':batchid' => $batchid); //Condition 
$criteria->order = 'student_rollno ASC'; //Order by student roll no 
$students = Student::model()->findAll($criteria); 
+0

如果您有一個相當複雜的SQL查詢,最好將它保存在SQL中而不是寫入Active Record中。您可以使用http://www.yiiframework.com/doc-2.0/yii-db-command.html參考中的createCommand進行嘗試 –

回答

0

您可以嘗試此解決方案以解決您的問題。

$criteria = new CDbCriteria(); 
$criteria->condition = 't.courseid =:course_id AND t.batchid =:batch_id'; 
$criteria->params = array(':course_id' => $courseid, ':batch_id' => $batchid); //Condition 
$criteria->order = 't.student_rollno ASC'; //Order by student roll no 
$students = Student::model()->findAll($criteria);