Yii 在模型中设置默认排序顺序 [英] Yii Set Default Sort Order in Model
本文介绍了Yii 在模型中设置默认排序顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 Yii 创建了一个带有 yii-user 扩展程序的网络应用程序.在用户列表页面,显示由 create_at 排序的用户列表.
I create a web app with Yii with the yii-user extension. At user listing page, display the user list was ordered by create_at.
我想按用户名显示用户列表顺序.
I want to display the user list order by username.
这是原始代码:
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";
添加后,用户列表仅按用户名排序,无论单击标题.
After adding, the user list is only sorting by username whatever the header is clicked.
如何设置默认排序顺序?
How can I set the default sort order?
推荐答案
使用排序属性:
return new CActiveDataProvider(get_class($this), array(
'criteria' => $criteria,
'sort' => array(
'defaultOrder' => 'username ASC',
),
));
这篇关于Yii 在模型中设置默认排序顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文