yii2怎么连接sql server

2025-05-07 22:59:03
推荐回答(1个)
回答(1):

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

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

即除了使用/Yii::app−>set()外,还需要再多使用下面一句话:/Yii::app->$database->open(); 
因为在框架加载后再调用时,yii本身并不会帮打开连接。使用如下代码:

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_IP;port=3307;dbname='.$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];    }}