我在Lumen中有一个小应用程序,应该根据请求URL处理多个数据库。为了实现这一点,我首先创建了一个文件夹 / config / 和一个名为 /config/database.php 的配置文件。这是代码,我添加了一些注释,以显示我确实需要做什么。
<?php
return [
'migrations' => 'home',
'default' => 'home',
'connections' => [
// This is the default option and its needed to check if the "client" exists.
'home' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'home',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
// When the client is found in the "home" connection, I'd like to continue with this database settings as default.
'client' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'client_', // There is one database per client which in the end will look like this: "client_******", so I have to add this using Config:set...
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
];
我必须致电Config::set
来更改这些设置,但它似乎无法在Lumen上使用。如何更改这些设置(默认数据库连接及其数据库)
我希望有办法让这成为可能。非常感谢:)
答案 0 :(得分:1)
我找到了解决方案。
要设置和编辑您的配置,请使用&#34; config&#34;数组作为参数的辅助方法。
示例:
config(['database.default' => 'your_connection']);
答案 1 :(得分:0)
在查询中,您可以按如下方式使用:
$ connectionClient = DB :: connections(&#39; client&#39;); $ connectionHome = DB :: connections(&#39; home&#39;);
我希望有所帮助。