Yii2迁移。表名中的百分号和括号

Yii2迁移。表名中的百分号和括号,yii2,Yii2,我在github上浏览了yii2-oauth2-server代码,在中遇到了有趣的语法。所讨论的代码如下所示: $this->createTable('{{%oauth_clients}}', [ ... ], $tableOptions); $this->createTable('post_tag', [ ... ]); 有人能解释一下{{%oauth\u clients}部分吗?当表名包含在{{%..}中时,它意

我在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

用作表前缀

来自yii2:

如果表名为
{{%TableName}}
,则百分比 字符
%
将替换为此属性值。例如
{{%post}
变为
{{{tbl_post}


我可能错了,但我怀疑这与表前缀有关,例如:app_oauth_clients@eskimo看来你是对的,我发现了关于Gii的,在ActiveRecord类中使用了相同的语法,似乎是合乎逻辑的。那么大括号呢?%只是其中一个奇怪的地方,文档中对
{
}
@ThrowAwayAccount完全没有提及。示例是从yii2 DB连接文档中获得的。必须有卷轴,以便正确引用表名,以避免命名冲突,例如与保留关键字发生冲突。这是因为数据库系统支持不同的引号,例如mySQL/MariaDB使用反勾号
`table`
或MSSQL方括号
[table]
等。