有时候我们需要在项目中使用多个数据库,那在Yii2中多数据库该怎么配置呢。
在Yii2的配置文件web.php中引入了一个数据库配置文件
'db' => require(__DIR__ . '/db.php')
在与web.php同目录有一个数据库的配置文件db.php
return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=database', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'tablePrefix' => '' ];
我们可以照葫芦画瓢多引入一个文件
'db' => require(__DIR__ . '/db.php'), 'db2' => require(__DIR__ . '/db2.php')
然后新建一个db2.php,写入配置
return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=database2', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'tablePrefix' => '' ];
在需要使用另一个数据库的model中(或者建立一个公共model)配置
public static function getDb() { return Yii::$app->db2; }
这样就可以了。同理可以增加多个数据库配置。