如何反转CGridView的顺序(默认显示最新)?
我目前有Gii生成的代码:
public function actionAdmin() {
$model = new Post('search');
$model->unsetAttributes();
if (isset($_GET['Post']))
$model->attributes = $_GET['Post'];
$this->render('admin', array(
'model' => $model,
));
请帮忙。感谢。
答案 0 :(得分:4)
如果您将订单设置为查询的一部分,则无法使用列分拣机。您需要更新创建数据提供程序的sort属性,在这种情况下可能在@ xiaohan2012提到的函数中。它看起来像是:
return new CActiveDataProvider('Post', array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'update_time DESC',
),
));
要创建完全自定义的排序,您需要创建一个新的排序对象,如:
$sort = new CSort();
$sort->defaultOrder = 'update_time DESC';
$sort->attributes = array(
'post_name'=>array(
'asc'=>'post_name asc',
'desc'=>'post_name desc',
),
'update_time'=>array(
'asc'=>'update_time desc',
'desc'=>'update_time asc',
),
[... additional columns]
);
在这种情况下,您的数据提供者看起来像:
return new CActiveDataProvider('Post', array(
'criteria'=>$criteria,
'sort'=>$sort,
));
答案 1 :(得分:1)
您可以尝试相应的类发布(在 protected / models / Post.php 中)并找到 搜索 强>功能。 这是搜索区域内容受控的地方。
试试这个:
$criteria->order("create_time desc");