В моем Yii2 (базовом приложении) web.php я настраиваю соединение NULL db как второе соединение с базой данных.
Это должно быть заполнено действительными параметрами, которые поступают из записи в главном соединении db:
'db' => require(__DIR__ . '/db.php'), 'db2' => [ 'class' => 'yii\db\Connection', 'dsn' => NULL, 'username' => NULL, 'password' => NULL, 'charset' => 'utf8', ],
После инициализации приложения () мне нужно заполнить NULL-параметры со значениями, которые я извлекаю из другой базы данных для дальнейшего использования в моделях.
Как я могу достичь этого в Yii2?
Нет проблем, поддерживается
\Yii::$app->db2->close(); // make sure it clean \Yii::$app->db2->dsn= 'yourdsn'; \Yii::$app->db2->username = 'username'; \Yii::$app->db2->password = 'password';
Сделано, теперь вы можете использовать его
Yii::$app->db2->...
Другой путь:
$connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'password' => $password, ]); $connection->open(); $command = $connection->createCommand('SELECT * FROM post')->....;
См. http://www.yiiframework.com/doc-2.0/yii-db-connection.html.