欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

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

点击生成就可以了。注意: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');
    }

多了一行返回数据库信息