你能告诉我tableName()
在 Yii2 中返回值 {{%table_name}} 和 'table_name' 的类中的函数有什么区别吗?
public static function tableName(){
return {{%admin}};
}
public static function tableName(){
return 'admin';
}
你能告诉我tableName()
在 Yii2 中返回值 {{%table_name}} 和 'table_name' 的类中的函数有什么区别吗?
public static function tableName(){
return {{%admin}};
}
public static function tableName(){
return 'admin';
}
'{{%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()), '_') . '}}';
}