2016-08-29 5 views
0

私はあなたのデータベースを管理できる小さなWebアプリケーションに取り組んでいます。オンザフライでアクティブなデータベースを編集する

今、私はすべてのデータベース

DB::select('SHOW DATABASES') 

を取得するには、次の機能を使用することができます。しかし、私は今、それらの各データベースのテーブルを取得し、最終的にそれらのデータベースでより多く行うことができるようにしたい、しかし、もし私が考え出し私は問題ではないこの作業を得る。

通常はあなたの設定には異なるデータベースがありますが、私のアプリケーションは「任意の」データベースで動作し、手動ですべてのデータベースを追加する必要はないことを確認してください。私のウェブアプリを私のためにやりたい

私はこれを少しでも成功させることなく試してみました。

明らかにこれは機能しませんでしたが、これには適切な解決策がありますか?私は.env変数をオンザフライで編集することは選択肢かもしれないと思ったが、私はそれを行うための「正当な」方法を見つけることはできないようだ。

答えて

0

これは必要ありません。私はその場で.env変数を編集思っ

は オプションしてきたかもしれないが、私はどちらかそれを行うには、「合法的な」方法を見つけるように見えることはできません。

は何が必要あなただけ$host$database$username、および$password動的に値を取得する方法を把握する必要があり、この

DB::purge('mysql');//IMP 

Config::set('database.connections.mysql.host', $host); 
Config::set('database.connections.mysql.database', $database); 
Config::set('database.connections.mysql.username', $username); 
Config::set('database.connections.mysql.password', $password); 

です。

これらの値をすべて格納し、デフォルトのデータベース接続(mysql in config/database.php)を指すデータベースがあります。その場で値を読み取り、それに応じて接続を設定します。

+0

単に設定値を再割り当てするだけで十分かどうか分かりません。 DBマネージャー/接続が既に初期化されていて元の設定値であればどうなりますか?ブートストラップのどこかでこれを行う必要があります。 –

+0

もちろん、DBマネージャは既に '.env'のデフォルト値で初期化されています。そのコードを使用する場合は、設定値はそのオブジェクトにのみ固有の値になります。 'MyController'クラスの設定をしているとしましょう。configはその特定の' MyController'インスタンスに固有です。残りのシステムはデフォルトの接続を使用し続けます。 – linuxartisan

関連する問題