我的View代码中有一个简单的select
。它代表城市列表,在我的服务器上有几个负责每个城市的数据库。我有我的模型代码,需要city_id
。取决于它我想连接到数据库并在其中寻找所需的数据。我已将第二个数据库添加到我的组件中,如:
'db' => require(__DIR__ . '/db.php'),
'db2' => require(__DIR__ . '/db_login.php'),
和两个返回数据库连接的文件。
文件1:
'class' => 'yii\db\Connection',
'dsn' => $dsn,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
文件2:
'class' => 'yii\db\Connection',
'dsn' => $dsn,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
我想在用户'之后动态地以某种方式更改我的数据库名称。选择。
答案 0 :(得分:1)
您可以调用dbconnection
$actual_dsn = 'your_dns_actual_value'
$yourConnection = new \yii\db\Connection([
'dsn' => $actual_dsn,
'username' => $username,
'password' => $password,
]);
$yourConnection->open();
最终关闭之前的开放连接
您可以在db_login.php中执行此操作,具体取决于应用程序的需求
答案 1 :(得分:0)
也许:
if (choice =='a') {
'db' => require(__DIR__ . '/db.php')
}
else {
'db2' => require(__DIR__ . '/db_login.php')
}