Yii2 Gii表前缀

问题描述 投票:4回答:1

我始终设置表前缀-对于此帖子,可以说我的前缀为abc_。所以在common\config\main-local.php中。我有:

'components' => [
'db' => [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=database',
    'username' => 'user',
    'password' => 'pwd',
    'charset' => 'utf8',
    'tablePrefix' => 'abc_',
],
...

我研究过Yii1,并使用gii生成了模型。在此版本中,它生成的文件如下:table.php

现在,我与Yii2合作,并了解它们之间的区别:gii生成类似于abc_table.php的文件。是的-我选中了“使用表格前缀”。

这不行,因为前缀应该是透明的。能否请任何人告诉我我在做什么错?

yii2 gii
1个回答
6
投票

您可以将型号类别名称AbcTest更改为Test。对于将来的模型,请检查Use Table Prefix工具中的Gii字段。 Gii生成正确的模型,如下所示:

class Test extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return '{{%test}}';
    }
    ...
}

tableName方法中,如果在'{{%test}}'工具中选中Use Table Prefix,它将返回Gii。如果不检查Use Table Prefix,则此方法返回'abc_test',并且生成的模型类将命名为AbcTest。

© www.soinside.com 2019 - 2024. All rights reserved.