=====Multiple database connections=====
В config добавить вторую конфигурацию базы данных ниже следующим образом :
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=db;dbname=dev',
'username' => 'root',
'password' => '2619192',
'charset' => 'utf8',
],
'db2' => [ //mssql_octell
'class' => 'yii\db\Connection',
'dsn' => 'sqlsrv:Server=192.168.103.2,1038;Database=oktell', // MSSql АТС Oktell
'username' => 'sa',
'password' => '123',
],
..........................
теперь вы можете просто генерировать запросы:
// To get from db1
Yii::$app->db->createCommand((new \yii\db\Query)->select('*')->from('tbl_name'))->queryAll()
// To get from db2
Yii::$app->db2->createCommand((new \yii\db\Query)->select('*')->from('tbl_name'))->queryAll()
Если вы используете активную модель записи, в модели можно определить:
public static function getDb() {
return Yii::$app->db2;
}
Если вы установили db2 в getDb() методе, результат будет получен с db2 и так далее.
ModelName::find()->select('*')->all();