1.首先修改db配置文件,修改格式如下:
return [
'db' => [
'class' => 'yiidbConnection',
'dsn' => 'mysql:host=localhost;dbname=zjj',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
],
'db_new' => [
'class' => 'yiidbConnection',
'dsn' => 'mysql:host=localhost;dbname=new_db',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
],
// Schema cache options (for production environment)
//'enableSchemaCache' => true,
//'schemaCacheDuration' => 60,
//'schemaCache' => 'cache',
];
2.修改完成后,防止报错,需要在web.php里增加如下配置:
//多个数据库连接需要合并输出
$config['components'] = array_merge($config['components'],$db);
return $config;
3.修改完成后报错信息应该就不会有了,下面就可以使用多数据获取数据:
1.使用原生查询
$sql = "select * from article where id = 5214";
$new_db = Yii::$app->db_new->createCommand($sql)->queryAll();
2.使用gii生成model
点击生成就可以了。注意:db_new 要和db配置文件里面的保持一致;到这里就完成多配置了!
4.生成的model可以和之前的model不一样,区别就是下面的区别:
/**
* @return yiidbConnection the database connection used by this AR class.
*/
public static function getDb()
{
return Yii::$app->get('db_new');
}
多了一行返回数据库信息