我正在使用CActiveDataprovider来显示来自不同表的数据。现在我遇到了问题。我有两个表(项目和类别),它们都有priority_order列,我需要使用两列的顺序显示数据。
例如:属于这些类别的有两个类别和六个项目:
现在我需要完全按照上面的顺序显示CGridView中的数据。所有食品都将首先出现,并按优先顺序排序,饮品将在稍后出现;显然是在他们的顺序。
在ItemsController
我正在尝试下面的代码(现在仅按类别排序)
$dataProvider = new CActiveDataProvider('Items', array(
'criteria' => array(
'with' => array('category'),
'condition' => 'user_id=' . Yii::app()->user->id,
//'order' => 't.priority_order ASC',
'order' => 'category.priority_order ASC',
),
));
如果仍然不够清楚,我很乐意提供更多细节。任何帮助将不胜感激。
答案 0 :(得分:7)
$dataProvider = new CActiveDataProvider('Items', array(
'criteria' => array(
'with' => array('category'),
'condition' => 'user_id=' . Yii::app()->user->id,
'order' => 'category.priority_order ASC, t.priority_order ASC',
),
));
为订单标准提供第二个参数