4

我总是设置表前缀 - 对于这篇文章,可以说我的前缀是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. 是的 - 我检查了“使用表前缀”。

这是不行的,因为前缀应该是透明的。谁能告诉我我做错了什么?

4

1 回答 1

6

您可以将模型类名称更改AbcTestTest. 对于未来的模型生成,请检查工具Use Table Prefix中的字段GiiGii像这样生成正确的模型:

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

在方法中,如果您签入该工具tableName,它将返回。如果不勾选,该方法返回并生成的模型类将被命名为 AbcTest。'{{%test}}'Use Table PrefixGiiUse Table Prefix'abc_test'

于 2015-03-12T07:39:47.963 回答