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 關注
- 297 瀏覽
添加回答
舉報