我正在使用 CActiveDataprovider 显示来自不同表的数据。现在我遇到了一个问题。我有两个表(项目和类别),它们都有priority_order 列,我需要使用这两个列的顺序来显示数据。
例如:有两个类别和属于这些类别的六个项目:
-
Food (priority_order 1)
- food_item1(优先顺序 1)
- fodd_item2(优先级顺序 2)
- fodd_item3(优先级顺序 3)
-
Drink (priority_order 2)
- Drink_item1(优先顺序 1)
- Drink_item2(优先顺序 2)
- Drink_item3(优先顺序 3)
现在我需要在 CGridView 中完全按照上面的顺序显示数据。所有食物都会先出现,并按优先顺序排序,饮料会稍后出现;显然是按照他们的顺序。
In 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',
),
));
如果仍然不够清楚,我很乐意提供更多详细信息。任何帮助,将不胜感激。
$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',
),
));
为订单标准提供第二个参数应该有效
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)