0

DataProvider を使用してデータを表示しています。データは、劇場でのショーに関連しています。最初に「シーズン中」の番組を表示し、次にシーズン外の番組を表示したいと考えています。また、すべてのショーはアルファベット順に並べる必要があります。CSort を使用しようとしましたが、エラーが発生しました。これが私のコードです:

$dataProviderFiaba = new CActiveDataProvider('Show',
                    array(
                        'criteria'=>array(
                            'condition'=>'show_type= '.Show::TYPE_FIABA,
                        ),
                        'sort'=>array(
                            'defaultOrder'=>'on_season', //TO SHOW THE ON SEASON SHOWS FIRST
                            'asc'=>'title', // TO ORDER ALPHABETICALLY
                        ),
                    ));

エラーはProperty "CSort.asc" is not defined.、正しい形式で CSort を使用していないと思います。この種の並べ替えを行う正しい方法は何ですか?

4

1 に答える 1

1

CSort の属性のコンテキストでは、"asc" のみを使用できます。例えば: $mCSort->attributes = array('title'=>array('asc'=>'title', 'desc' => 'title DESC'));

ただし、並べ替えの問題を解決するには、次の方法で十分です。

$dataProviderFiaba = new CActiveDataProvider('Show',
                    array(
                        'criteria'=>array(
                            'condition'=>'show_type= '.Show::TYPE_FIABA,
                            'order'=>'on_season, title'
                        ),
                    ));
于 2012-09-17T11:17:55.690 に答える