2016-02-17 69 views
1

有没有办法更改连接的数据库名称而不是添加另一个? 没关系,如果我在Config.database.connections中添加3或5个数据库,但是如果我有100个或更多数据库,我正在处理? 由于所有使用相同的HOST,USERNAME和PASSWORD,是否有动态地更改数据库名称并在整个会话期间使用该名称? 我试图laravel 5在运行时更改数据库名称

Config::set('database.connections.mysql.database', 'database1'); 

但是当我尝试使用的查询,它仍然使用默认的。

回答

1

如果还有人正在寻找的答案这个问题,答案就在这里:

您可以在运行时更改数据库名称(不连接)如下:

导入下面就顶班的控制器或中间件:

use Illuminate\Support\Facades\Config; 
use Illuminate\Support\Facades\DB; 

然后内部功能,改变数据库名称如下:

DB::disconnect('mysql');//here connection name, I used mysql for example 
Config::set('database.connections.mysql.database', $dbName);//new database name, you want to connect to. 

在此之后,只要您将查询从任何表中提取任何数据,它就会搜索到提供的新数据库。

请注意,这是用于更改相同的数据库名称运行时连接。

我希望它有帮助

相关问题