Laravel:左连接查询

时间:2017-07-05 13:55:14

标签: php mysql laravel laravel-5 laravel-5.4

我有这样的SQL查询,工作正常:

SELECT A.program_id FROM A
LEFT JOIN B
ON A.program_id = B.program_id
WHERE
B.program_id IS NULL

但是我希望它重写为LARAVEL样式,如下所示:

\DB::table('A')
->join('B', 'A.program_id', '=', 'B.program_id')
->select('A.program_id')
->whereNull('B.program_id')
->get()->toArray();

但是这段代码会给我0个结果。

1 个答案:

答案 0 :(得分:2)

您正在使用加入而非左加入

试试这个

\DB::table('A')
->leftjoin('B', 'A.program_id', '=', 'B.program_id')
->select('A.program_id')
->whereNull('B.program_id')
->where('A.student_id', '=', 5)
->get()->toArray();

它会生成一个类似的查询 enter image description here