2013-04-26 111 views
3

我使用yii-user extension创建了一个Yii的web应用程序。在用户列表页面上,显示用户列表是由create_at排序的。Yii在模型中设置默认排序顺序

我想通过用户名显示用户列表顺序。

这是原代码:

public function search() 
    { 
     $criteria=new CDbCriteria; 

     $criteria->compare('id',$this->id); 
     $criteria->compare('username',$this->username,true); 
     $criteria->compare('password',$this->password); 
     $criteria->compare('email',$this->email,true); 
     $criteria->compare('activkey',$this->activkey); 
     $criteria->compare('create_at',$this->create_at); 
     $criteria->compare('lastvisit_at',$this->lastvisit_at); 
     $criteria->compare('superuser',$this->superuser); 
     $criteria->compare('status',$this->status); 

     return new CActiveDataProvider(get_class($this), array(
      'criteria'=>$criteria, 
      'pagination'=>array(
       'pageSize'=>Yii::app()->getModule('user')->user_page_size, 
      ), 
     )); 
    } 

我加入这个代码。

$criteria->order = "username ASC"; 

添加后,用户列表只是按用户名排序,不管标题被点击了多少。

如何设置默认排序顺序?

回答

5

使用排序属性:

return new CActiveDataProvider(get_class($this), array(
    'criteria' => $criteria, 
    'sort' => array(
     'defaultOrder' => 'username ASC', 
    ), 
)); 
+0

如何通过主键降序排序全球 – 2015-02-14 11:19:09

+0

@YatinMistry请提出一个新的问题,然后告诉我的链接到你的问题。 – 2015-02-14 19:56:57