laravel 5 在运行时更改数据库名称

2024-03-23

有没有办法更改连接的数据库名称而不是添加另一个连接? 如果我在 Config.database.connections 中添加 3 或 5 个数据库是可以的,但是如果我正在使用 100 个或更多数据库怎么办? 由于所有人都使用相同的主机、用户名和密码,是否可以动态更改数据库名称并在整个会话期间使用该名称? 我试过

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

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


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

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

在控制器或中间件之上导入以下类:

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.

此后,每当您进行查询以从任何表中提取任何数据时,它都会搜索提供的新数据库。

请注意,这是为了更改数据库名称SAME运行时连接。

我希望它有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel 5 在运行时更改数据库名称 的相关文章

随机推荐