CActiveDataprovider を使用して、さまざまなテーブルのデータを表示しています。今、私は問題に悩まされています。2 つのテーブル (アイテムとカテゴリ) があり、両方に priority_order 列があり、両方の列の順序を使用してデータを表示する必要があります。
例: 2 つのカテゴリと、これらのカテゴリに属する 6 つのアイテムがあります。
- 食品(優先順1)
- food_item1 (priority_order 1)
- fodd_item2 (優先順位 2)
- fodd_item3 (priority_order 3)
- ドリンク(優先順2)
- ドリンク_アイテム1 (プライオリティ_オーダー 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',
),
));
まだ十分に明確でない場合は、詳細を提供していただければ幸いです。どんな助けでも大歓迎です。