这是我的数据提供者:
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => ['pageSize' => 50],
'sort' => [
'defaultOrder' => [
'priority' => SORT_DESC,
'date_targeted' => SORT_ASC
]
]
]);
What I want is to move ("not set") to the end of the results.
我怎样才能做到这一点?
您可以添加新字段select
。并设置在IF
像这样的情况:
$query->select([
'*',
new \yii\db\Expression('IF(date_targeted IS NULL, 1, 0) AS date_targeted_flag')
]);
And in sort
add date_targeted_flag
:
'sort' => [
'defaultOrder' => [
'date_targeted_flag' => SORT_ASC,
'priority' => SORT_DESC,
'date_targeted' => SORT_ASC
],
'attributes' => [
'date_targeted_flag',
'priority',
'date_targeted'
]
]
这工作正常 -here https://yadi.sk/i/Mvn_ZMctfJJXY and here https://yadi.sk/i/yW7HzKChfJJYF.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)