我使用的是Laravel 5.6,我想根据经过身份验证的用户设置默认数据库
就像当user1登录时将DB1设置为默认设置一样,而与user2一样,将databse设置为DB2
有什么建议或其他方式可以做到吗?
谢谢
解决方法:
首先,您可以根据您的用户使用相关值更新连接配置详细信息(我在这里假设默认连接名称为mysql):
// This will overwrite only the values you need updated so you don't have
// to add all of the configuration keys like 'driver', 'charset', etc
config()->set('database.connections.MysqL', array_merge(config('database.connections.MysqL'), [
'database' => 'new_database',
'username' => 'new_username',
'password' => 'new_password',
]));
然后,您只需要重新连接到数据库,它将使用新的配置:
\DB::reconnect('MysqL');