我有主数据库,每个用户都有登录表和相应的数据库设置.在登录时,我应该动态更改从表中获取的数据库设置.
我可以更改数据库连接,但这不是持久的.
Config::set("database.connections.MysqL", [
'driver' => 'MysqL',
"host" => $usr_host,
"database" => $usr_database,
"username" => $usr_username,
"password" => $usr_password,
...
]);
编辑:
当他/她向应用程序注册时,为每个用户创建新数据库,因此我没有为config / database.PHP中定义的每个用户建立数据库连接.
解决方法:
那么你可以使用默认数据库进行用户登录,并为数据库名称设置一个新字段.然后,只要您需要查询其他数据库,就可以更改数据库连接.
像这样的东西
$someModel = new SomeModel;
$databaseName = "MysqL2"; // Dynamically get this value from db
$someModel->setConnection($databaseName);
$something = $someModel->find(1);
你可以在这里读更多关于它的内容.
http://fideloper.com/laravel-multiple-database-connections