0

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',

我想在用户选择后立即以某种方式动态更改我的数据库名称。

4

2 回答 2

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 中执行此操作

于 2015-08-26T18:14:04.700 回答
0

也许 :

if (choice =='a') {
'db' => require(__DIR__ . '/db.php')
}
else {
'db2' => require(__DIR__ . '/db_login.php')
}
于 2015-08-26T15:09:52.820 回答