2017-03-15 10 views
0

私は、クエリービルダーphp laravelで2つのデータベースに参加しようとしていますが、誰かがこれを知っていれば親切に助けてください。php laravelクエリビルダで2つのデータベースに参加するには?

$users = \DB::connection('mysql')->table('users as u')->join(\DB::connection('mysql2')->table('mcc_pharma_user as p'),'u.id','p.user_id')->select('*')->get(); 

私は、デフォルトでは...それが動作していないLaravelのサンプル環境設定を

答えて

0

これを試してみました。

.envを開きます。データベースとユーザー、パスワードを編集します。

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=laravel 
DB_USERNAME=root 
DB_PASSWORD= 

アプリケーションのデータベース構成は、のconfig/database.phpでに位置しています。このファイルでは、すべてのデータベース接続を定義するだけでなく、デフォルトでどの接続を使用するかを指定することもできます。ほとんどのサポートされているデータベースシステムの例がこのファイルで提供されています。

使用して、複数のデータベース接続

複数の接続を使用する場合は、あなたがDBのファサードの接続方法を経由して各接続にアクセスすることができます。あなたは上getPdoメソッドを使用して PDOインスタンスの基礎となる、生にもアクセスすることができ

$users = DB::connection('mysql')->select(...); 

:接続メソッドに渡された名前は、あなたのconfig/database.phpで設定ファイルに記載されている接続のいずれかに対応している必要があります接続インスタンス:

$pdo = DB::connection()->getPdo(); 

は生SQLクエリを実行

$users = DB::connection('mysql')->select('select * from users where active = ?', [1]); 
関連する問題