Yii2 set db connection at runtime(Yii2 在运行时设置数据库连接)
问题描述
在我的 Yii2(基本应用程序)web.php 中,我将 NULL db 连接配置为第二个数据库连接.
In my Yii2 (basic application) web.php I configure a NULL db connection as 2nd database connection.
这需要填充来自主数据库连接记录的有效参数:
This needs to be filled with valid parameters which are coming from a record on the main db connection:
'db' => require(__DIR__ . '/db.php'),
'db2' => [
'class' => 'yiidbConnection',
'dsn' => NULL,
'username' => NULL,
'password' => NULL,
'charset' => 'utf8',
],
初始化 app() 后,我需要使用从另一个数据库中检索到的值填写 NULL 参数,以便在模型中进一步使用它.
After initializing the app() i need to fill out the NULL parameters with values that i retrieve from another database to further use it in models.
我如何在 Yii2 中实现这一点?
How can i achieve this in 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 yiidbConnection([
'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
这篇关于Yii2 在运行时设置数据库连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Yii2 在运行时设置数据库连接
基础教程推荐
- 在PHP中根据W3C规范Unicode 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- 如何替换eregi() 2022-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
