Since, you are using Yii2-Basic Application. So, Directory structure is like.
Root Folder
-> assets
-> commands
-> components
-> config
-> console.php
-> db.php
-> params.php
-> web.php
-> controllers
-> mail
.
.
.
Your database connection details are present in db.php. Now, you want another Database to play important rle in your application. No worries. Create one more database connection details in,say, db2.php inside config folder.
db2.php
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=another_database_name',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
];
So, now directory structure will be :
Root Folder
-> assets
-> commands
-> components
-> config
-> console.php
-> db.php
-> db2.php
-> params.php
-> web.php
-> controllers
-> mail
.
.
.
Now, next step to include db2.php in the application.
Open web.php. Add one more line for 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'),
],
];
So, Another database connection is also set successfully. Now, next step is to use query related to another database connection.
$row = Yii::$app->db2->createCommand("SELECT * FROM `table_name`")->queryOne();
config/web.phplike as it is declared in web.php i.e.'db1' => require(__DIR__ . '/db1.php'),