嗨,我
目前正在研究一个不是我在 Yii 框架上的项目,我有这个咨询数据库
public function actionAdmin()
{
$model=new CoronaTrabajos('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['CoronaTrabajos'])) {
$model->attributes = $_GET['CoronaTrabajos'];
}
$this->render('admin',array(
'model'=>$model,
));
}
该模型有一个名为"fecha_publicacion"的字段,它是一种日期类型,我想根据该字段对值进行升序或降序排序,但我找不到一种方法,我是 Yii 的新手,我已经搜索了文档但仍然没有明确的答案。谢谢。
您可以从CoronaTrabajos模型搜索功能执行此操作。 在搜索功能内添加如下所示的订单条件。
$criteria = new CDbCriteria();
....
//add there below line
$criteria->order = 'fecha_publicacion DESC';
...
...
就是这样。
这里有两件事:
要对列启用 ASC 和 DESC 排序,必须在模型中定义它,如下所示
$sort = new CSort;
/* Sort criteria */
$sort->attributes = array(
'col_name'=>array(
'asc'=>"col_name", //you can add special logic too
'desc'=>"col_name desc",
),
'*' //adds all other columns,
);
然后向数据提供者退还您的$sort,
return new CActiveDataProvider($this, array(
'pagination'=>false,
'criteria'=>$criteria,
'sort'=>$sort,
));
另外,如果要添加默认排序,则
$sort->defaultOrder= array(
'col_name'=>CSort::SORT_ASC,
);
希望对您有所帮助。