Как подключиться к нескольким БД в Yii2

Как подключиться к нескольким БД в Yii2

Для того чтобы подключиться к нескольким БД в фреймворке 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>

";
Поделиться в соцсетях:
Статьи на похожую тематику

С вашим сайтом на фреймворке Yii2 проблемы? нужен дополнительный функционал?
Тогда напишите мне через форму обратной связи, и я постараюсь вам помочь.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *