3

yii-user 拡張機能を使用して、Yii で Web アプリを作成します。ユーザー一覧ページで、create_at で並べ替えたユーザー一覧を表示します。

ユーザー一覧をユーザー名順に表示したい。

これは元のコードです:

 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";

追加後、ヘッダーがクリックされても、ユーザーリストはユーザー名でのみソートされます。

デフォルトのソート順を設定するにはどうすればよいですか?

4

1 に答える 1

5

sort プロパティを使用します。

return new CActiveDataProvider(get_class($this), array(
    'criteria' => $criteria,
    'sort' => array(
        'defaultOrder' => 'username ASC', 
    ),
));
于 2013-04-26T04:04:23.207 に答える