如何在yii框架中自动获取任何表的primaryKey名称

时间:2015-10-27 20:29:16

标签: php yii

如何在yii框架中自动获取任何表的primaryKey名称。我想在framework\gii\generators\model\templates\default\model.php中自动使用主键。 primaryKey是XXX

return new CActiveDataProvider($this, array(
    'criteria'=>$criteria,
     'sort'=>array(
     'defaultOrder'=>' XXX DESC',
    ),
));

3 个答案:

答案 0 :(得分:0)

对于gii,您可以使用:

    function any(arr, fun){ 
    for (var i=0; i<arr.length; i++) {  
    if (loop(fun)=== 'false')      //<--- this is what I'm not sure about
    return false;
    if (arr.length>0);
    return true;
    } 
}

或者通常取决于具体情况:

$this->tableSchema->primaryKey;

答案 1 :(得分:0)

查看此文档http://www.yiiframework.com/doc/api/1.1/CDbTableSchema

spark.executor.cores

答案 2 :(得分:0)

我强烈建议在CActiveDataProvider中使用默认范围而不是默认顺序。主要原因是默认范围允许对记录进行排序,即使在关联中使用也是如此。 默认范围:

 public function defaultScope() {
        return array(
            'order' => $this->getTableAlias(false, false).'.'.$this->tableSchema->primaryKey.' DESC'
        );
    }

我在这个例子中也使用了getTableAlias,因为它可以防止列名冲突。
因此,您将拥有更简单的数据提供者:

return new CActiveDataProvider($this, array(
    'criteria'=>$criteria,
));