2017-04-10 11 views
1

これは可能かどうかわかりませんが、私のLaravelのインストールではこのシナリオがあります。Laravel複数のデータベース同時にすべてを使用する

私は3つのライブデータベースを実行しています(時間が経つにつれてます)、私は1つのラーベルインストールを行います。そして、私がしたいのは、異なる接続を使用してすべてのデータをマージし、関係など....基本的に雄弁を使いたい。すべてのデータベースはテーブルデザイン、インデックス、キーなどの面で同じですが、その可能性があるかどうかはわかりません!

たとえば、すべての接続を一度に使用するUsers::all();という1つのクエリを書きたいと考えています。

私がそれがうまくいくことがわかる唯一の方法は、この方法です。

'connection1' => [ 
      'driver' => 'mysql', 
      'host' => env('DB_HOST', 'localhost'), 
      'port' => env('DB_PORT', '3306'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
      'engine' => null, 
     ], 
'connection2' => [ 
      'driver' => 'mysql', 
      'host' => env('DB_HOST', 'localhost'), 
      'port' => env('DB_PORT', '3306'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
      'engine' => null, 
     ], 

DB::connection('connection1')->table('table_here')->get(); 

これが可能であれば、誰でも知っています。

+0

チェック:[http://fideloper.com/laravel-multiple-

は、このリンクを参照してくださいデータベース接続](http://fideloper.com/laravel-multiple-database-connections) –

+0

私は現時点で異なる接続を使用しており、それに基づいてクエリを作成していますが、私は例えば1つのクエリを書くことができるようにしたい: 'Users :: all();'はすべての接続を一度に使用します。 –

答えて

1

おそらくapp/config/database.phpのdatbase設定ファイルの中に、任意のタイプの複数のデータベース接続を定義することができます。実際、必要な数だけ接続を定義することができます。アプリケーションが2つのMySQLデータベースからデータを取得する必要がある場合たとえば、あなたは別々に両方を定義することができます。このhttp://fideloper.com/laravel-multiple-database-connections

関連する問題