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?
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