Yii2迁移。表名中的百分号和括号
我在github上浏览了yii2-oauth2-server代码,在中遇到了有趣的语法。所讨论的代码如下所示:Yii2迁移。表名中的百分号和括号,yii2,Yii2,我在github上浏览了yii2-oauth2-server代码,在中遇到了有趣的语法。所讨论的代码如下所示: $this->createTable('{{%oauth_clients}}', [ ... ], $tableOptions); $this->createTable('post_tag', [ ... ]); 有人能解释一下{{%oauth\u clients}部分吗?当表名包含在{{%..}中时,它意
$this->createTable('{{%oauth_clients}}', [
...
], $tableOptions);
$this->createTable('post_tag', [
...
]);
有人能解释一下{{%oauth\u clients}
部分吗?当表名包含在{{%..}
中时,它意味着什么?表中没有任何说明,所有示例都有如下“原始”表名:
$this->createTable('{{%oauth_clients}}', [
...
], $tableOptions);
$this->createTable('post_tag', [
...
]);
我检查了我的数据库,创建的表好像没有括号一样,它的名称只是
oauth\u clients
用作表前缀
来自yii2:
如果表名为{{%TableName}}
,则百分比
字符%
将替换为此属性值。例如
{{%post}
变为{{{tbl_post}
我可能错了,但我怀疑这与表前缀有关,例如:app_oauth_clients@eskimo看来你是对的,我发现了关于Gii的,在ActiveRecord类中使用了相同的语法,似乎是合乎逻辑的。那么大括号呢?%只是其中一个奇怪的地方,文档中对
{
和}
@ThrowAwayAccount完全没有提及。示例是从yii2 DB连接文档中获得的。必须有卷轴,以便正确引用表名,以避免命名冲突,例如与保留关键字发生冲突。这是因为数据库系统支持不同的引号,例如mySQL/MariaDB使用反勾号`table`
或MSSQL方括号[table]
等。