Это мой запрос от MySQL.Я хочу использовать «LEFT JOIN» для двух одинаковых таблиц с разными псевдонимами и иметь «ON» с «AND» в скобках.И этот запрос приходит с правильными результатами, но моя проблема в том, как мне узнать эквивалент этого запроса к его запросу Laravel?
SELECT * FROM table1 AS a
LEFT JOIN table1 AS b
ON (a.column1 = b.column1 AND a.column2 < b.column2)
WHERE b.column2 is null;
И затем я использую этот запрос в Laravel Query Builder, который будет запрашиватьнеправильные результаты.
DB::table('table1 As a')
->leftJoin('table1 As b', 'a.column1', '=', 'b.column1')
->leftJoin('table2 As c','a.column2', '<', 'c.column2')
->whereNull('c.column2')
->get();
Этот запрос Laravel эквивалентен этому запросу MySQL, который, к сожалению, будет запрашивать такие же неправильные результаты:
SELECT * FROM table1 AS a
LEFT JOIN table1 AS b
ON (a.column1 = b.column1 AND )
LEFT JOIN table1 AS c
ON (a.column2 < c.column2)
WHERE b.column2 is null;