如何在YII中配置Doctrine DBAL多数据库或多个连接?

时间:2018-07-31 09:00:47

标签: yii doctrine dbal

我有两个数据库,在第一个数据库中,我使用sqlanywhere,但我不知道如何在yii中获得多连接理论/ DBAL。

请帮助 这是第一个使用sqlanywhere的数据库

'dbmain'=>[
        'class'=>'api\components\doctrine\DoctrineDBAL',
        'dbalConfig'=>[
            'driver' => 'sqlanywhere',
            'host' => '192.168.0.1',
            'port' => 36,
            'server' => '',
            'user' => 'dba',
            'password' => '123456'
        ] 
    ],

我想像这样使用mysql连接,但仍然会出错

 'dbsecond'=>[
        'class'=>'api\components\doctrine\DoctrineDBAL',
        'dbalConfig'=>[
            'driver' => 'mysql',
            'host' => '172.16.1.1',
            'port' => 3306,
            'server' => '',
            'user' => 'guest',
            'password' => '123456'
        ] 


public $dbalConfig='dbalConfig';

public function init(){
    parent::init();
    $this->conn = DriverManager::getConnection($config=$this->dbalConfig);
}

public function getConnection(){

    return $this->conn;
}

}

这是基本模型

class BaseModel extends Model{
protected $conn;
protected $queryBuilder;

public function init()
{
    parent::init();
    $this->conn=Yii::$app->dbmain->getConnection();
    $this->queryBuilder = $this->conn->createQueryBuilder();
    //teskoneksi kedua


}

0 个答案:

没有答案