我有这个SQL查询工作,我想迁移到Laravel查询生成器格式

时间:2016-01-17 18:29:29

标签: php laravel

今天正在使用此SQL查询。

 SELECT me.id
 FROM refrees r
 LEFT JOIN matches m
 ON m.refree_id = r.id
 LEFT JOIN match_events me
 ON m.id = me.match_id
 WHERE  r.id = 1
 AND me.match_event_type_id = 2

我试过了,但它不起作用。

 $c = DB::table('refrees as r')
 ->leftJoin('matches as m', 'r.id', '=', 'm.refree_id')
 ->leftJoin('match_events as me', 'me.id', '=', 'm.id')
 ->where('r.id', '=', '1')
 ->where('me.match_event_type_id', '=', '2')
 ->select('me.id')
 ->get();

2 个答案:

答案 0 :(得分:2)

第二次加入是一个不同的条件。

LEFT JOIN match_events me m.id = me.match_id

必须是

->leftJoin('match_events as me', 'me.match_id', '=', 'm.id')

而不是

->leftJoin('match_events as me', 'me.id', '=', 'm.id')

答案 1 :(得分:0)

我的坏。这是

 ->leftJoin('match_events as me', 'me.id', '=', 'm.id') 

我会把

放在哪里
 ->leftJoin('match_events as me', 'me.id_match', '=', 'm.id')