php 修改获取的数据库连接,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);

标签:php,laravel,mysql,database,multi-tenant

来源: https://codeday.me/bug/20190828/1750028.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值