Php Yii:多订单条件
我使用CActiveDataprovider显示来自不同表的数据。现在我遇到了一个问题。我有两个表(items和categories),它们都有priority_order列,我需要按这两列的顺序显示数据 例如:有两个类别和六个项目属于这些类别:Php Yii:多订单条件,php,yii,Php,Yii,我使用CActiveDataprovider显示来自不同表的数据。现在我遇到了一个问题。我有两个表(items和categories),它们都有priority_order列,我需要按这两列的顺序显示数据 例如:有两个类别和六个项目属于这些类别: 食物(优先顺序1) 食品项目1(优先顺序1) fodd_项目2(优先顺序2) fodd_项目3(优先顺序3) 饮料(优先顺序2) 饮料项目1(优先顺序1) 饮料项目2(优先顺序2) 饮料项目3(优先顺序3) 现在,我需要在CGridView中按
- 食物(优先顺序1)
- 食品项目1(优先顺序1)
- fodd_项目2(优先顺序2)
- fodd_项目3(优先顺序3)
- 饮料(优先顺序2)
- 饮料项目1(优先顺序1)
- 饮料项目2(优先顺序2)
- 饮料项目3(优先顺序3)
ItemsController
中,我正在尝试下面的代码(目前仅按类别排序)
如果仍然不够清楚,我很乐意提供更多细节。任何帮助都将不胜感激
$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',
),
));
为订单标准提供第二个参数应该会起作用为什么不按项目提供第二个订单?它是这样工作的吗??这是否会取代第一个order语句,并将仅按项订购数据提供程序?不,不会。至少要试一下,对不起。那确实有效。用不同的方式思考这真的很容易。我在考虑更复杂的答案,甚至没有考虑过这种方式。
$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',
),
));