1.首先修改db配置文件,修改格式如下:

return [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=zjj', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', ], 'db_new' => [ 'class' => 'yii\db\Connection', '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', ];

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 


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

 Yii basic 模板支持连接多数据库 Mysql

点击生成就可以了。注意:db_new 要和db配置文件里面的保持一致;到这里就完成多配置了!

4.生成的model可以和之前的model不一样,区别就是下面的区别:

    /** * @return \yii\db\Connection the database connection used by this AR class. */ public static function getDb() { return Yii::$app->get('db_new'); }

多了一行返回数据库信息

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄