Yii2 Gii Table 前缀
Yii2 Gii Table Prefix
我总是设置 table 前缀 - 对于这个 post 假设我的前缀是 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
的文件。是的 - 我检查了 "Use Table Prefix".
这不行,因为前缀应该是透明的。
谁能告诉我我做错了什么?
您可以将模型 class 名称 AbcTest
更改为 Test
。对于未来的模型生成,请检查 Gii
工具中的 Use Table Prefix
字段。 Gii
像这样生成正确的模型:
class Test extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%test}}';
}
...
}
在tableName
方法中,如果在Gii
工具中勾选Use Table Prefix
,则returns '{{%test}}'
。如果不勾选Use Table Prefix
,这个方法return'abc_test'
和生成的模型class会被命名为AbcTest.
我总是设置 table 前缀 - 对于这个 post 假设我的前缀是 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
的文件。是的 - 我检查了 "Use Table Prefix".
这不行,因为前缀应该是透明的。 谁能告诉我我做错了什么?
您可以将模型 class 名称 AbcTest
更改为 Test
。对于未来的模型生成,请检查 Gii
工具中的 Use Table Prefix
字段。 Gii
像这样生成正确的模型:
class Test extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%test}}';
}
...
}
在tableName
方法中,如果在Gii
工具中勾选Use Table Prefix
,则returns '{{%test}}'
。如果不勾选Use Table Prefix
,这个方法return'abc_test'
和生成的模型class会被命名为AbcTest.