Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何重写CActiveDataProvider方法,在Yii中默认按降序显示CGridview_Php_Mysql_Sorting_Activerecord_Yii - Fatal编程技术网

Php 如何重写CActiveDataProvider方法,在Yii中默认按降序显示CGridview

Php 如何重写CActiveDataProvider方法,在Yii中默认按降序显示CGridview,php,mysql,sorting,activerecord,yii,Php,Mysql,Sorting,Activerecord,Yii,我的项目中有许多模型和网格视图,每个模型都有create\u dttm字段 现在我想知道如何覆盖classcactivedaptaprovider,我将在其中添加DESC排序条件 i、 e 因此,它将适用于我的所有gridview,而不是在每个gridview中添加条件 例如: public function search() { $criteria = new CDbCriteria; $criteria->compare('id', $this->id);

我的项目中有许多模型和网格视图,每个模型都有
create\u dttm
字段

现在我想知道如何覆盖class
cactivedaptaprovider
,我将在其中添加
DESC排序条件

i、 e

因此,它将适用于我的所有gridview,而不是在每个gridview中添加条件

例如:

public function search() {

    $criteria = new CDbCriteria;
    $criteria->compare('id', $this->id);
    $criteria->compare('name', $this->name, true);
    $criteria->compare('age', $this->age);
    $criteria->compare('create_dttm', $this->create_dttm, true);
    $criteria->compare('update_dttm', $this->update_dttm, true);

    return new CActiveDataProvider($this, array(
        'criteria' => $criteria,
        'pagination' => array(
            'pageSize' => 10,
        ),
        'sort' => array(
            'defaultOrder' => 'create_dttm DESC',
        )
    ));
}
我该怎么处理


任何帮助都将不胜感激。

我认为简单的方法是在每个模型上添加排序变量

或者您可以使用下面的链接中的方法,但如果您使用这种方法,您也需要更改名称


因此,我的建议是,在每个模型上添加排序。

我认为简单的方法是在每个模型上添加排序变量

或者您可以使用下面的链接中的方法,但如果您使用这种方法,您也需要更改名称


因此,我的建议是,在每个模型上添加排序。

我认为简单的方法是在每个模型上添加排序变量

或者您可以使用下面的链接中的方法,但如果您使用这种方法,您也需要更改名称


因此,我的建议是,在每个模型上添加排序。

我认为简单的方法是在每个模型上添加排序变量

或者您可以使用下面的链接中的方法,但如果您使用这种方法,您也需要更改名称


因此,我的建议是,在每个模型上添加排序。

让每个模型从BaseModel类继承,并覆盖默认的作用域方法:

<?php
class BaseModel extends CActiveRecord {
...

    public function defaultScope() {
        return array(
            'order' => 'create_dttm DESC',
        );
    }

让每个模型从BaseModel类继承,并覆盖默认的作用域方法:

<?php
class BaseModel extends CActiveRecord {
...

    public function defaultScope() {
        return array(
            'order' => 'create_dttm DESC',
        );
    }

让每个模型从BaseModel类继承,并覆盖默认的作用域方法:

<?php
class BaseModel extends CActiveRecord {
...

    public function defaultScope() {
        return array(
            'order' => 'create_dttm DESC',
        );
    }

让每个模型从BaseModel类继承,并覆盖默认的作用域方法:

<?php
class BaseModel extends CActiveRecord {
...

    public function defaultScope() {
        return array(
            'order' => 'create_dttm DESC',
        );
    }

我是否可以在CActiveRecord中添加defaultScope()方法,而不是在每个模型中重写basemodel类。更新CActiveRecord不是好的做法,因为它是框架的一部分。因此,Samuel用基本模型类继承所有模型类并添加defaultScope()方法(如上所述)的方法将是很好的方法。我是否可以在CActiveRecord中添加defaultScope()方法,而不是在每个模型中重写basemodel类。更新CActiveRecord不是很好的做法,因为它是框架的一部分。因此,Samuel用基本模型类继承所有模型类并添加defaultScope()方法(如上所述)的方法将是很好的方法。我是否可以在CActiveRecord中添加defaultScope()方法,而不是在每个模型中重写basemodel类。更新CActiveRecord不是很好的做法,因为它是框架的一部分。因此,Samuel用基本模型类继承所有模型类并添加defaultScope()方法(如上所述)的方法将是很好的方法。我是否可以在CActiveRecord中添加defaultScope()方法,而不是在每个模型中重写basemodel类。更新CActiveRecord不是很好的做法,因为它是框架的一部分。因此,Samuel用基本模型类继承所有模型类并添加defaultScope()方法的方法将是很好的方法。