6 回答
TA贡献1887条经验 获得超5个赞
您可以尝试purge连接,以便断开连接并将其从数据库管理器的缓存中删除:
...
Config::set('database.connections.mysql_test.database', $db);
DB::purge('mysql_test');
dump(DB::connection('mysql_test')->getDatabaseName());
TA贡献1815条经验 获得超6个赞
DB::Purge() 为我修复了它。看起来这是 Laravel 8.x 升级后需要的。在 Laravel 任务确实在需要时切换数据库连接之前。经过一些更新后,他们不再这样做了。
TA贡献1863条经验 获得超2个赞
我在 Laravel 5.7 上遇到了同样的问题
就我而言DB::purge('mysql_test'),DB::reconnect("mysql_test")也没有用,所以我这样做了:
$db_connection_name = 'mysql_test'; // Connection name that i wanted to connect
Config::set('database.default', $db_connection_name);
TA贡献1877条经验 获得超6个赞
这应该更有效,因为它不必重新连接到数据库。
DB::table("products")->get(); //tenant A
DB::statement("use tenant_b");
DB::table("products")->get(); //tenant B
- 6 回答
- 0 关注
- 236 浏览
添加回答
举报