4

你能告诉我tableName()在 Yii2 中返回值 {{%table_name}} 和 'table_name' 的类中的函数有什么区别吗?

public static function tableName(){
return {{%admin}};
}



public static function tableName(){
return 'admin';
}
4

1 回答 1

4

'{{%admin}}'如果设置了一个,将以表前缀作为前缀。'admin'将不会。

我找不到确切的参考,但可以从\yii\db\ActiveRecord::tableName().

文档

默认情况下,此方法通过调用yii\helpers\Inflector::camel2id()前缀返回类名作为表名yii\db\Connection::$tablePrefix。如果yii\db\Connection::$tablePrefix是'tbl_','Customer'变成'tbl_customer','OrderItem'变成'tbl_order_item'。如果表不是以此约定命名的,您可以覆盖此方法。

源代码是:

public static function tableName()
{
    return '{{%' . Inflector::camel2id(StringHelper::basename(get_called_class()), '_') . '}}';
}
于 2016-04-11T12:49:20.703 回答