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

2019-07-24 09:03:37来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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');
    }

多了一行返回数据库信息


原文链接:https://www.cnblogs.com/lixiansen/p/11190407.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Mysql中use filesort的误区

下一篇:Mysql-MariaDB设置延迟同步