如何在yii2控制器中添加多级排序作为默认排序?

问题描述 投票:0回答:1

我想对3个级别的广告进行排序,第一级是高级广告(状态=2),然后是特色广告(状态=1)和普通广告(状态=0),在列表视图中,我需要先显示高级广告,并有排序数据desc.意思是高级广告中的最新帖子优先,然后我想显示特色广告也像最新帖子优先,然后普通广告也像最新帖子优先。

$dataProvider = $searchModel->search($params);
$defaultSort = $dataProvider->getSort();
$defaultSort->defaultOrder = ['date'=>SORT_DESC];

这段代码将以日期排序_desc的顺序对整个列表进行排序,而不是过滤高级的、特色的和普通的,所以我把这段代码改成了。

$defaultSort->defaultOrder = ['status' => SORT_DESC,'date'=>SORT_DESC];

但是什么都没有发生,我怎么能在yii2中进行3级排序呢?

php sorting yii2
1个回答
1
投票

应该是

$dataProvider = $searchModel->search($params);
$dataProvider->sort->defaultOrder =  ['status' => SORT_DESC,'date'=>SORT_DESC];
© www.soinside.com 2019 - 2024. All rights reserved.