我正在使用 CActiveDataprovider 来显示来自不同表的数据。现在我遇到了一个问题。我有两个表(项目和类别),它们都有 priority_order 列,我需要使用两列的 order 来显示数据。
例如:有两个类别和六个项目属于这些类别:
- 食物(priority_order 1)
- food_item1 (priority_order 1)
- fodd_item2 (priority_order 2)
- fodd_item3 (priority_order 3)
- 饮料(priority_order 2)
- Drink_item1 (priority_order 1)
- Drink_item2 (priority_order 2)
- Drink_item3 (priority_order 3)
现在我需要完全按照上面的顺序在 CGridView 中显示数据。所有食物都排在最前面,按照priority_order排序,饮料排在后面;显然按照他们的顺序。
在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',
),
));
如果还不够清楚,我很乐意提供更多细节。任何帮助,将不胜感激。