Laravel中来自会话的数据库连接

时间:2019-01-11 12:41:53

标签: database laravel

我有多个数据库连接,但是对于perusahaan db连接,我想从会话中设置database_name。该怎么解决?

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以这样做:

config(['database.connections.perusahaan.database' => session('db_key')]);

您可以通过使用config帮助器向其传递值来设置session帮助器的配置变量运行时。您的操作失败,因为在读取配置时会话尚不可用。

我想警告您,您可能会信任不应该信任的数据,但是我对您的应用程序了解不够肯定。

答案 1 :(得分:0)

您需要在运行时执行此操作,不能直接从配置文件中完成。

config(['database.connections.perusahaan.database' => session('db_key')]);

您可能还需要清除连接,因为它可能已被缓存

app(DatabaseManager::class)->purge('perusahaan');