更改yii框架中的列顺序(CActiveRecords)

时间:2014-08-12 11:45:43

标签: php yii cactiverecord

输出网格具有以下表格的列序列 - > B,C,D,E,A(与数据库中的表格相同)。但我需要这一系列的列 - > A,B,C,D,E。我知道如何使用sql查询执行此操作。但是我必须在Yii框架中这样做(我对Yii框架很新)。

这是MyClass的代码,它扩展了CActiveRecords

class Myclass extends CActiveRecord
{  
public function tableName()
{
    return 'dbName.dbTableName';
}
public function rules()
{
    //Some rules
}
public function relations()
{
    //Some modified relations
}
public function attributeLabels()
{
    return array(
        'a' => 'A',
        'b' => 'B',
        'c' => 'C',
        'd' => 'D',
        'e' => 'E',
    );
}
public function search()
{

    $criteria=new CDbCriteria;

    $criteria->compare('a',$this->A);
    $criteria->compare('b',$this->B);
    $criteria->compare('c',$this->C,true);
    $criteria->compare('d',$this->D,true);
    $criteria->compare('e',$this->E,true);
    return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
    ));
}
public function getDbConnection()
{
    return Yii::app()->db1;
}
public static function model($className=__CLASS__)
{
    return parent::model($className);
}
}

1)Yii Framework中是否有任何内置函数可以根据我的需要重新排列列的序列。

2)我应该在这里或其他地方重新安排列序列。我的意思是这是重新安排列序列的正确类。

3)任何人都可以向我推荐一些优秀的Yii框架教程(视频教程,如果可能的话)。

非常感谢您的帮助

1 个答案:

答案 0 :(得分:2)

  1. 是。加上这个:

    $ criteria-> select =' a,b,c,d,e' //所需序列中的列

  2. 如果您在使用search()方法时总是想要此序列,那么这是正确的位置。

  3. 抱歉,在这里真的无法帮到你。学习阅读Yii Framework文档,您几乎可以找到所需的一切。