0

我有以下表格,但是当我将名字定义为可排序时,它不起作用(没有将名字显示为可以单击并对列表视图进行排序的链接)。尽管如此,如果我的用户名工作正常。

| User
| - userid
| - username

| Profile
| - userid
| - firstname
| - lastname

我在控制器中有:

    $criteria->with=array(
        'profile',
    );
    $criteria->addCondition('status = 1 or status = 2 or status = 3');

    if($search) 
        $criteria->addCondition("firstname = '{$search}'");

    $dataProvider=new CActiveDataProvider('YumUser', array(
                'criteria' => $criteria, 
                'pagination'=>array(
                    'pageSize'=>50,
                    )));

鉴于:

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'_view', 
        'template' => '{summary} {sorter} {items} <div style="clear:both;"></div> {pager}',
    'sortableAttributes'=>array(
        'firstname',
    ),
));
4

1 回答 1

4

这仅在明确设置 dataProvider 的sort属性时才有效(在这些情况下,您按另一个模型中的属性进行排序)

试试这个

 $dataProvider =  new CActiveDataProvider('YumUser', array(
                'criteria' => $criteria, 
                'sort'=>array(
                    'attributes'=>array(
                         'firstname'=>array(
                              'asc'=>'firstname',
                              'desc'=>'firstname DESC',
                          ),
                     ),
                 ),
                'pagination'=>array(
                    'pageSize'=>50,
                    )));
于 2012-06-04T11:57:10.773 回答