有时候我们需要在项目中使用多个数据库,那在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;
}这样就可以了。同理可以增加多个数据库配置。