2016-11-27 7 views
-1


どのようにしてLaravelの動的データベースを変更できますか?
laravel 5動的mysqlデータベース

  • $ホスト(MySQLのホスト名/ IP)
  • $ユーザ(MySQLのユーザー名)
  • $名(MySQLデータベース名)
  • $パス(MySQLの:私たちは次の変数を考えてみましょうユーザパスワード)

設定で毎回設定することなく、Laravel 5のこのMySQLサーバに接続する方法を教えてください。

挨拶

+0

を試してみてください? – jycr753

+0

@ jycr753ああ、この変数は、**。env **で設定されている私の内部データベースから取得します。しかし、変数を使用して外部データベースに接続する必要があり、ユーザーがサーバーを削除したり、新しいサーバーを追加したりするため、config(+200)の各サーバーを設定できません。 –

答えて

1

は `.env`ファイルでこのモデルを仮定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(); 
 
}

+0

configを1回の実行でほぼ無制限に使用できますか? config :: setは制限されていますか? –

+0

できます。 docsはConfig :: set()への呼び出しが制限されているとは言いません。高価な計算である別のデータベースへの新しい接続を作成していることに注意してください。 –

+0

ありがとうございます。私の質問が落ちた理由を答えることができますか?何が間違っていたの?コードなし?この質問のために、コードは必要ないと思います。 –

関連する問題