数据库
首页 > 数据库> > php – 在Laravel中动态更改数据库连接

php – 在Laravel中动态更改数据库连接

作者:互联网

我有主数据库,每个用户都有登录表和相应的数据库设置.在登录时,我应该动态更改从表中获取的数据库设置.
我可以更改数据库连接,但这不是持久的.

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

标签:php,laravel,mysql,database,multi-tenant
来源: https://codeday.me/bug/20190828/1750028.html