我有很多模特使用created_time.我希望所有的GridViews都能显示按created_timeDESC 排序的模型.
现在我写这样的东西
$dataProvider = new \yii\data\ActiveDataProvider([
'query' => MyModel::find(),
'sort' => [
'defaultOrder' => [
'created_time' => SORT_DESC
]
],
]);
Run Code Online (Sandbox Code Playgroud)
sort我没有编写所有配置,而是尝试了以下方法,但没有任何效果.
使用容器
\Yii::$container->set(\yii\data\ActiveDataProvider::class,
[
'sort' => [
'defaultOrder' => [
'created_time' => SORT_DESC
]
]
]);
Run Code Online (Sandbox Code Playgroud)覆盖sort扩展类.
class ActiveDataProvider extends \yii\data\ActiveDataProvider {
public $sort = [
'defaultOrder' => [
'created_time' => SORT_DESC
]
];
}
Run Code Online (Sandbox Code Playgroud)init()在扩展类之前覆盖工作,但如果实例化尝试再次覆盖它将无法工作.
class ActiveDataProvider extends \yii\data\ActiveDataProvider {
public function init() {
$this->sort = [
'defaultOrder' => …Run Code Online (Sandbox Code Playgroud)yii2 ×1