2013-04-26 94 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