0

selectビューコードに単純なものがあります。それは都市のリストを表し、私のサーバーには各都市を担当するいくつかのデータベースがあります。私は自分のモデル コードを持っていますcity_id。それに応じて、データベースに接続し、必要なデータを探したいと考えています。次のようなコンポーネントに 2 番目のデータベースを追加しました。

'db' => require(__DIR__ . '/db.php'),
'db2' => require(__DIR__ . '/db_login.php'),

データベース接続を返す2つのファイル。

ファイル 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 に答える