我該如何更改Laravel動態數據庫?比方說,我們有以下變量:
laravel 5動態mysql數據庫
- $主機(MySQL主機/ IP)
- $用戶(MySQL用戶名)
- $名(MySQL數據庫名)
- $通(MySQL的用戶密碼)
如何在Laravel 5中連接到此MySQL服務器而無需每次都在配置中進行設置?
問候
我該如何更改Laravel動態數據庫?比方說,我們有以下變量:
laravel 5動態mysql數據庫
如何在Laravel 5中連接到此MySQL服務器而無需每次都在配置中進行設置?
問候
試試這個假設的模型Book
use Book;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Config;
public function configureDatabase($database){
Config::set("database.connections.$database", array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => "$database",
'username' => 'root',//User name here
'password' => '***', //Password here
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
));
}
public function getBooks($database){
$this->configureDatabase($database)
return Book::on($database)->all();
}
我可以在一次執行中使用幾乎無限次的配置嗎?配置::設置有限嗎? –
當然可以。文檔沒有說Config :: set()的調用是有限的。請記住,它創建了一個到另一個數據庫的新連接,這是一個昂貴的計算。 –
謝謝。你能回答爲什麼我的問題被低估嗎?什麼問題?沒有代碼?對於這個問題,我認爲沒有必要的代碼。 –
在'.env'文件? – jycr753
@ jycr753啊不,我從我的內部數據庫中獲取這個變量,它是在**。env **中設置的。但我需要連接到外部數據庫的變量,我不能設置每個服務器的配置(+200),因爲用戶刪除他們的服務器或添加新的... –