首先按降序对 Yii2 Gridview 进行排序

Tib*_*agy 1 sorting gridview yii2

我有一个由 Yii2 GridView 呈现的表格。表头包含按日期排序的链接。如果我单击它,它首先按升序对表格进行排序,然后按降序对第二次单击进行排序。但我想在第一次点击时降序。

我在搜索控制器的搜索方法 (asc->SORT_DESC) 中使用 hack 解决了它:

   $dataProvider->sort->attributes['updated_at'] = [ 
      'asc'  => [$this->tablename() . '.updated_at' => SORT_DESC ], 
      'desc' => [$this->tablename() . '.updated_at' => SORT_ASC], 
   ]; 
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

top*_*her 5

使用default

"default" 元素指定如果当前未排序属性应按哪个方向排序(默认值为升序)。

$dataProvider->sort->attributes['updated_at'] = [ 
    'default' => SORT_DESC
]; 
Run Code Online (Sandbox Code Playgroud)