У меня такой 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 результатов.
Вы используете соединение вместо левого соединения
Попробуй это
\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();
Он будет генерировать запрос типа