Для того чтобы подключиться к нескольким БД в фреймворке Yii2 нужно:
1. Создать две настройки БД в конфигурационном файле сайта. У меня подключения вынесены в отдельные файлы, и имеют следующий вид (пример).
Подключение к первой базе данных:
return [ 'class' => 'yiidbConnection', 'dsn' => 'mysql:host=127.0.0.1;dbname=work_db1', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'tbl_', ];
Подключение к второй базе данных:
return [ 'class' => 'yiidbConnection', 'dsn' => 'mysql:host=127.0.0.1;dbname=work_db2', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'tablePrefix' => 'tbl_', ];
2. В базовом конфиге прописываем:
'db' => require(__DIR__ . '/db.php'), 'db2' => require(__DIR__ . '/db2.php'),
Получаем содержимое БД, по нашему SQL запросу:
$Query = (new yiidbQuery());
$Command = Yii::$app -> db2;
$data_ar = $Command -> createCommand(
$Query -> select('*')
-> from('{{%authitem}}')
-> createCommand()
-> getRawSql()
)
-> queryAll();
echo"<pre>";print_r($data_ar);echo"</pre>";