如何使用 BaseDataProvider->setSort()方法进行排序? [ 2.0 版本 ]
我用下面的方法是不起作用的,不知道setSort()方法是不是要这样传递参数
$sort = new Sort([
'attributes' => [
'createdAt' => [
'desc' => ['createdAt' => SORT_DESC]
]
],
'defaultOrder' => ['createdAt' => SORT_DESC]
]);
$provider->setSort($sort);
哪位大神知道这个要怎么用嘞
共 3 个回答
-
-
benbenhu007 回答于 2017-09-27 17:01 举报
$query = User::find()
->select(['id','username','real_name','point_total','point_used','point_valid']) ->joinWith(['profile']) ->where(['status'=>User::STATUS_ACTIVE]); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'totalCount' => 20 ]); $dataProvider->setSort([ 'attributes' => [ 'point_total' => [ 'asc' => ['point_total' => SORT_DESC], 'desc' => ['point_total' => SORT_ASC], 'label' => 'point_total' ]
],
'defaultOrder' => ['point_total' => SORT_ASC]]);
-
zongzong08 回答于 2021-08-05 15:45 举报
设置合并配置参数一样,比如按id正序排列:
$sort=['defaultOrder'=>['id' => SORT_ASC]]; $dataProvider->setSort($sort);
$sort也可以用new Sort();设置参数,这个可以翻看yii文档
沉淀3021
注册时间:2016-10-31
最后登录:2017-06-16
在线时长:0小时53分
最后登录:2017-06-16
在线时长:0小时53分
- 粉丝1
- 金钱45
- 威望0
- 积分45