Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一个用于多个数据库的laravel应用程序_Php_Laravel - Fatal编程技术网

Php 一个用于多个数据库的laravel应用程序

Php 一个用于多个数据库的laravel应用程序,php,laravel,Php,Laravel,嗨,我有拉威尔项目 在我的服务器中,我有这些文件夹 project1 project2 project3 project4 它们都有相同的文件,我只是将.env文件更改为连接到数据库,每个项目都有不同的数据库 当我在项目中更改任何内容时,我必须将项目文件上载到所有文件夹 我正在寻找一种方法来处理一个项目,当用户从 mywebsite/project1 mywebsite/project2 mywebsite/project3 mywebsite/project4 从一个源文件将他与他的

嗨,我有拉威尔项目 在我的服务器中,我有这些文件夹

project1

project2

project3

project4
它们都有相同的文件,我只是将.env文件更改为连接到数据库,每个项目都有不同的数据库 当我在项目中更改任何内容时,我必须将项目文件上载到所有文件夹 我正在寻找一种方法来处理一个项目,当用户从

mywebsite/project1
mywebsite/project2
mywebsite/project3
mywebsite/project4
从一个源文件将他与他的数据库连接起来
谢谢

基于您的用例,考虑到每个项目选择都有不同的数据库,您可以使用中间件来实现这一点

当用户选择/更改项目时,将其存储在用户的表或会话中。然后,您可以使用中间件通过以下方式切换数据库:

\Config::set(...);
 // Refresh config array in connection cache
\DB::purge(...);
// Reconnect
\DB::reconnect(...);

但是,已经有一个包可以满足您的需要。根据您的用例检查它是否有帮助,考虑到每个项目选择都有不同的数据库,您可以使用中间件来完成这项工作

当用户选择/更改项目时,将其存储在用户的表或会话中。然后,您可以使用中间件通过以下方式切换数据库:

\Config::set(...);
 // Refresh config array in connection cache
\DB::purge(...);
// Reconnect
\DB::reconnect(...);

但是,已经有一个包可以满足您的需要。检查是否有帮助

您可以尝试多租户套餐。一个代码库,但分隔资产、文件、数据库等


您可以尝试多租户套餐。一个代码库,但分隔资产、文件、数据库等


你是说每个登录的用户都有不同的数据库吗?或者数据库根据项目用户选择的不同而不同?每个项目都有自己的数据库它认为您要查找的关键字是:多租户您是指每个登录的用户都有不同的数据库吗?或者数据库根据项目用户选择的不同而不同?每个项目都有自己的数据库它认为您要查找的关键字是:多租户