请问一下 Yii 2.0 项目中使用了 5 个数据库,如何跨库跨表查询呢? [ 2.0 版本 ]
请问一下 Yii 2.0 项目中使用了 5 个数据库,如何跨库跨表查询呢?有木有比较简便的方法呢?
共 3 个回答
-
LaravelCode 回答于 2019-03-19 09:13 举报
新增一个 db 连接
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=test', 'username' => '***', 'password' => '**', 'charset' => 'utf8', ], 'db2' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=test2', 'username' => '***', 'password' => '***', 'charset' => 'utf8', ], ],
然后在模型中指定连接 实现
getDb()
方法/** * {@inheritdoc} */ public static function tableName() { return 'post'; } /** * @return \yii\db\Connection the database connection used by this AR class. */ public static function getDb() { return Yii::$app->get('db2'); }
还可以使用 gii 生成模型 指定下
Database Connection ID
为db2
就好至于用法和以前的 AR 类没有区别。
共 3 条回复LaravelCode 回复于 2019-03-19 09:24 回复@PHP学院的中学生 你纠结这个干嘛,是表名........
@LaravelCode 哦哦,好的
Jeter 觉得很赞
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705