6 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以嘗試purge連接,以便斷開(kāi)連接并將其從數(shù)據(jù)庫(kù)管理器的緩存中刪除:
...
Config::set('database.connections.mysql_test.database', $db);
DB::purge('mysql_test');
dump(DB::connection('mysql_test')->getDatabaseName());

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
配置值更改后需要重新連接數(shù)據(jù)庫(kù)
DB::reconnect("mysql_test");

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
DB::Purge() 為我修復(fù)了它??雌饋?lái)這是 Laravel 8.x 升級(jí)后需要的。在 Laravel 任務(wù)確實(shí)在需要時(shí)切換數(shù)據(jù)庫(kù)連接之前。經(jīng)過(guò)一些更新后,他們不再這樣做了。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
DB::setDefaultConnection($connectionName);
為我解決了這個(gè)問(wèn)題。(v8.48)
不需要清除或刷新。

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
我在 Laravel 5.7 上遇到了同樣的問(wèn)題
就我而言DB::purge('mysql_test'),DB::reconnect("mysql_test")也沒(méi)有用,所以我這樣做了:
$db_connection_name = 'mysql_test'; // Connection name that i wanted to connect
Config::set('database.default', $db_connection_name);

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
這應(yīng)該更有效,因?yàn)樗槐刂匦逻B接到數(shù)據(jù)庫(kù)。
DB::table("products")->get(); //tenant A
DB::statement("use tenant_b");
DB::table("products")->get(); //tenant B
- 6 回答
- 0 關(guān)注
- 309 瀏覽
添加回答
舉報(bào)