Yii2框架 *** 作数据库的方法分析【以mysql为例】

Yii2框架 *** 作数据库的方法分析【以mysql为例】,第1张

在saas中,多租户数据库分库管理时常常需要自定义数据库链接,并且需要支持在框架加载后再调用数据库连接

Yii2 如何定义数据库连接要注意的是:

即除了使用/Yii::app&#8722>set()外,还需要再多使用下面一句话:/Yii::app->$database->open() 

因为在框架加载后再调用时,yii本身并不会帮打开连接。使用如下代码:

<?php/** * User: chenlb */namespace backend/modules/monitorMysql/controllers/showclass AllDatabases extends /yii/base/Action{    private static $_conn = []    public function run()    {        // Create Test DB Connection        $db = $this->getDb('数据库名称')        var_dump($db->getSchema()->getTableSchema('log')->columns['id']->isPrimaryKey)        exit    }    /**     * 得到数据库连接      */    public function getDb($database)    {        if(!isset(self::$_conn[$database])){            $connInfo = [                'class'    => 'yii/db/Connection',                'dsn'      => 'mysql:host=HOST_IPport=3307dbname='.$database,                'username' => 'username',                'password' => 'password',                'charset'  => 'utf8'            ]            /Yii::$app->set($database, $connInfo)            /Yii::$app->$database->open()            self::$_conn[$database] = /Yii::$app->$database                  }        return self::$_conn[$database]    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10818937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存