Ich habe SQL-Abfrage mit, um nächsten kommen (zwei JOIN
‚s verschachtelt sind in LEFT JOIN
):Wie verschachtelte Joins mit dem Laravel Query Builder geschrieben werden?
SELECT *
FROM mytable
LEFT JOIN table1
JOIN table2 ON table2.id = table1.document_id
JOIN table3 ON table3.content_id = table2.id
ON table1.link_id = mytable.link_id
Wie diese Abfrage mit builder Laravel Abfrage schreiben?
Mein Weg:
$query = Mytable::select('*')
->leftJoin(DB::raw('table1
JOIN table2 ON table2.id = table1.document_id
JOIN table3 ON table3.content_id = table2.id
'),
'table1.link_id', '=', 'mytable.link_id');
Es funktioniert, aber es ist eine Möglichkeit, es ohne DB :: raw() zu tun? Vielleicht mit $join->nest()
?
Dies ist keine Lösung. Diese Abfrage wird sieht aus wie SELECT * FROM mytable LEFT JOIN tabelle1 ON table1.link_id = mytable.link_id JOIN Tabelle2 ON table2.id = table1.document_id JOIN table3 ON table3.content_id = table2.id' – mnv