我始终设置表前缀-对于此帖子,可以说我的前缀为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
的文件。是的-我选中了“使用表格前缀”。
这不行,因为前缀应该是透明的。能否请任何人告诉我我在做什么错?
您可以将型号类别名称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。