使用Laravel的多个数据库配置文件

时间:2015-08-03 18:30:00

标签: php mysql database laravel-5

我已经使用Laravel开发了一个Web应用程序,一切正常。

这应该是一个多租户应用程序,所以我想共享相同的代码,但是为每个租户使用不同的数据库(我决定使用这个架构,因为根据我的说法,共享数据库模式或记录太复杂了在租户中)。 每个租户都使用自己的第三级域名(tenant1.xxxx.com,tenant2.xxxx.com等)访问该应用程序

我想创建n。数据库(tenant1,tenant2等)并创建n。 Laravel中的数据库配置文件(database.tenant1.php,database.tenant2.php等)

现在的问题是我找不到一种优雅的方法来改变Laravel中的数据库配置文件加载系统。 我应该根据客户使用的主机名选择配置文件。

任何帮助都将不胜感激。

谢谢你, 米歇尔

1 个答案:

答案 0 :(得分:0)

在配置文件夹中,有一个'database.php'文件。在该文件中,您可以看到一个名为“连接”的数组 'connection'数组管理多个数据库连接的不同配置 您可以在“连接”数组中为每个租户定义配置,并根据您在其中的方案,您可以选择适当的连接来处理您的查询,语法如下:

DB::connection('tenant1')->select('where...');


DB ::连接( 'tenant2') - >选择( '其中...');