在 Yii 2.0 中添加了多个 DB 应用组件时,Gii 的生成流程
1、在 Yii 2.0 中添加了多个数据库连接组件时
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=62.234.135.47;dbname=pcs_api', 'username' => 'sq_pcs', 'password' => '', 'tablePrefix' => 'pa_', 'charset' => 'utf8mb4', 'enableSchemaCache' => false, 'schemaCacheDuration' => 3600, 'schemaCache' => 'redisCache', ], 'statDb' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=62.234.135.47;dbname=pcs_stat', 'username' => 'sq_pcs', 'password' => '', 'tablePrefix' => 'ps_', 'charset' => 'utf8mb4', ], ],
2、数据库连接ID选择 statDb 时,表名的下拉列表中,仅会出现 statDb 下的数据表,如图1
3、当生成 statDb 下的模型文件时,会额外生成 getDb() ,如图2
/** * @return \yii\db\Connection the database connection used by this AR class. */ public static function getDb() { return Yii::$app->get('statDb'); }
4、数据库连接ID选择 db 时,表名的下拉列表中,未出现 db 下的数据表,因此,需要手动填写相应的信息。如图3
5、当生成 db 下的模型文件时,不会生成 getDb() ,因为 db 是默认的。如图4
6、当 Preview 或者 Generate 后,数据库连接ID选择 db 时,表名的下拉列表中,仅会出现 db 下的数据表。如图5
近期评论