我想对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级排序呢?
应该是
$dataProvider = $searchModel->search($params);
$dataProvider->sort->defaultOrder = ['status' => SORT_DESC,'date'=>SORT_DESC];