Yii - 对具有多个字段的数据提供者进行排序

时间:2012-09-17 10:40:27

标签: sorting yii dataprovider

我正在使用DataProvider来显示一些数据。该数据与剧院中的节目有关。我想首先展示“On Season”的节目,然后是不是季节的节目。所有节目都应按字母顺序排序。我试图使用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。做这种排序的正确方法是什么?

1 个答案:

答案 0 :(得分: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'
                        ),
                    ));