通过两个连接加入laravel

时间:2016-06-14 10:06:45

标签: php mysql laravel join laravel-5.2

我在laravel中有两个连接,我想连接两个

我试过这个

$response = DB::connection('connection1')->table('table1 as t1');
$response->DB::connection('connection2')->leftJoin('table2 as t2', 't2.t1_id','=','t2.id')
->get();

但是查询失败了,如何加入,请帮助。

就像我可以在这样的mysql中做的那样,

SELECT *
FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1
INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2
    ON tab1.ID = tab2.ID

如何在laravel中做到这一点。

请评论,如果你给我负面投票,请...

2 个答案:

答案 0 :(得分:0)

要连接两个不同的数据库表,您必须在laravel 5.2中使用查询构建器

我认为这会对我有所帮助并且在我的情况下工作正常。

  $sql="select * from database1.table1 left join database2.table2 on database2.table2.table2Id=database1.table1.table1Id" 
      $data = DB::select($sql);

希望它能帮到你......

答案 1 :(得分:0)

或者我这样做。

$database1 = Config::get('database.connections.connection1.database');
$database2 = Config::get('database.connections.connection2.database');

$response = DB::table($database1.'.table1 as t1')
->leftJoin($database2.'.table2 as t2','t2.t1_id','=','t2.id')
->get();