Yii2配置多数据库连接

PHP开发 小铁匠 2018-09-28

有时候我们需要在项目中使用多个数据库,那在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;
}

这样就可以了。同理可以增加多个数据库配置。

------ 本文结束 感谢阅读 ------
下一篇: tp5多数据库配置