2016-02-17 72 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. 

在此之後,只要您將查詢從任何表中提取任何數據,它就會搜索到提供的新數據庫。

請注意,這是用於更改相同的數據庫名稱運行時連接。

我希望它有幫助

相關問題