问题
I allways setup table prefix - for this post lets say my prefix is abc_
.
So in common\config\main-local.php
. I have:
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=database',
'username' => 'user',
'password' => 'pwd',
'charset' => 'utf8',
'tablePrefix' => 'abc_',
],
...
I have worked on Yii1 and used gii to generate models.
In this version it generated files like: table.php
.
Now I work with Yii2 and learn the differences:
gii
generate files like abc_table.php
. Yes - I checked "Use Table Prefix".
This is not ok because prefix should be transparent. Could please anyone tell me what I'm doing wrong?
回答1:
You may change model class name AbcTest
to Test
. And check Use Table Prefix
. Gii
generate correct model like that:
class Test extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return '{{%test}}';
}
...
}
In tableName
method return '{{%test}}'
if you check Use Table Prefix
. If you not check Use Table Prefix
in this method return 'abc_test'
.
来源:https://stackoverflow.com/questions/28998385/yii2-gii-table-prefix