4

CActiveDataprovider を使用して、さまざまなテーブルのデータを表示しています。今、私は問題に悩まされています。2 つのテーブル (アイテムとカテゴリ) があり、両方に priority_order 列があり、両方の列の順序を使用してデータを表示する必要があります。

例: 2 つのカテゴリと、これらのカテゴリに属する​​ 6 つのアイテムがあります。

  • 食品(優先順1)
    1. food_item1 (priority_order 1)
    2. fodd_item2 (優先順位 2)
    3. fodd_item3 (priority_order 3)
  • ドリンク(優先順2)
    1. ドリンク_アイテム1 (プライオリティ_オーダー 1)
    2. drink_item2 (priority_order 2)
    3. 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',
                ),
      ));

まだ十分に明確でない場合は、詳細を提供していただければ幸いです。どんな助けでも大歓迎です。

4

1 に答える 1