Поскольку вы используете Yii2-Basic Application. Итак, структура Directory похожа.
Root Folder
-> assets
-> commands
-> components
-> config
-> console.php
-> db.php
-> params.php
-> web.php
-> controllers
-> mail
.
.
.
Ваши данные подключения к базе данных присутствуют в db.php. Теперь вы хотите, чтобы другая база данных играла важную роль в вашем приложении. Не беспокойся. Создайте еще одну информацию о соединении с базой данных, например, db2.php внутри config
папка.
db2.php
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=another_database_name',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
];
Итак, теперь структура каталогов будет:
Root Folder
-> assets
-> commands
-> components
-> config
-> console.php
-> db.php
-> db2.php
-> params.php
-> web.php
-> controllers
-> mail
.
.
.
Теперь, следующий шаг, чтобы включить db2.php в приложении.
Открыть web.php. Добавьте еще одну строку для db2.php
<?php
$params = require(__DIR__ . '/params.php');
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'components' => [
.
.
.
'db' => require(__DIR__ . '/db.php'),
'db2' => require(__DIR__ . '/db2.php'),
],
];
Так, другое соединение с базой данных также установлено успешно. Теперь следующий шаг - использовать запрос, связанный с другим подключением к базе данных.
$row = Yii::$app->db2->createCommand("SELECT * FROM `table_name`")->queryOne();
Вы используете базовое или расширенное ПО? –
@NanaPartykar Basic – Jonnny
Затем создайте еще один ** db1.php ** и включите его в 'config/web.php', как это указано в ** web.php ** ie' 'db1 '=> require (__ DIR__ . '/db1.php'), ' –