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 回答