好的,我的系统连接到远程数据库,根据我想要访问的数据,我一直在这些数据库上进行更改。
设置是多个相同的结构数据库驻留在不同的IP地址上,所以每次我想访问不同的数据库时,我总是更新.env DB_HOST行。
现在我打算在我的系统上创建一个视图,该视图将接受一个IP地址并将其设置为当前要使用的数据库。
答案 0 :(得分:1)
在配置中设置两个数据库连接(一个用于不间断的主连接,另一个用于自定义动态连接):
'main' => array(
'driver' => 'mysql',
'host' => 'hostname',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'prefix' => '',
),
'dynamic' => array(
'driver' => 'mysql',
'host' => '',
'database' => '',
'username' => '',
'password' => '',
'prefix' => '',
),
然后根据需要更改第二个连接的数据库连接参数:
Config::set('database.connections.dynamic.host', $newHost);
Config::set('database.connections.dynamic.username', $newUsername);
Config::set('database.connections.dynamic.password', $newPassword);
Config::set('database.connections.dynamic.database', $newDatabase);
Config::set('database.default', 'dynamic');
重新连接数据库:
DB::reconnect('mysql');