Laravel:动态连接数据库
我正在Laravel
5(.1)中创建一个应用程序,在该应用程序中需要连接到不同的数据库。唯一的问题是,它不知道必须连接到哪个数据库,因此无法在config中使用database.php。控制器负责使用动态给定的连接详细信息进行连接。
如何建立与数据库的新连接,包括使用DB类?(或者这可能)
提前致谢!
回答:
最简单的解决方案是在运行时设置数据库配置。Laravel可能希望从config/database.php
文件中加载这些设置,但这并不意味着您以后无法设置或更改它们。
从中加载的配置config/database.php
存储database
在Laravel配置中。意思是,connections
内部数组config/database.php
存储在database.connections
。
因此,您可以像这样轻松地覆盖/更改这些连接:
Config::set("database.connections.mysql", [ "host" => "...",
"database" => "...",
"username" => "...",
"password" => "..."
]);
从那时起,任何使用此mysql
连接的Eloquent模型都将使用此新的数据库连接配置。
如果可能,我建议在服务提供商中进行此操作。
以上是 Laravel:动态连接数据库 的全部内容, 来源链接: utcz.com/qa/429982.html