我已经使用Laravel开发了一个Web应用程序,一切正常。
这应该是一个多租户应用程序,所以我想共享相同的代码,但是为每个租户使用不同的数据库(我决定使用这个架构,因为根据我的说法,共享数据库模式或记录太复杂了在租户中)。 每个租户都使用自己的第三级域名(tenant1.xxxx.com,tenant2.xxxx.com等)访问该应用程序
我想创建n。数据库(tenant1,tenant2等)并创建n。 Laravel中的数据库配置文件(database.tenant1.php,database.tenant2.php等)
现在的问题是我找不到一种优雅的方法来改变Laravel中的数据库配置文件加载系统。 我应该根据客户使用的主机名选择配置文件。
任何帮助都将不胜感激。
谢谢你, 米歇尔
答案 0 :(得分:0)
在配置文件夹中,有一个'database.php'文件。在该文件中,您可以看到一个名为“连接”的数组
'connection'数组管理多个数据库连接的不同配置
您可以在“连接”数组中为每个租户定义配置,并根据您在其中的方案,您可以选择适当的连接来处理您的查询,语法如下:
DB::connection('tenant1')->select('where...');
或
DB ::连接( 'tenant2') - >选择( '其中...');