Yii basic 模板支持连接多数据库
程序员文章站
2023-04-05 08:17:22
1.首先修改db配置文件,修改格式如下: 2.修改完成后,防止报错,需要在web.php里增加如下配置: 3.修改完成后报错信息应该就不会有了,下面就可以使用多数据获取数据: 1.使用原生查询 2.使用gii生成model 点击生成就可以了。注意:db_new 要和db配置文件里面的保持一致;到这里 ......
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', ];
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 \yii\db\connection the database connection used by this ar class. */ public static function getdb() { return yii::$app->get('db_new'); }
多了一行返回数据库信息