[英]How to write nested joins with Laravel Query builder?
我有下一个JOIN
顺序的SQL查询(两个JOIN
嵌套在LEFT JOIN
):
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
如何使用Laravel查询构建器编写此查询?
我的方式:
$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');
它可以工作,但是没有DB :: raw()有什么办法吗? 也许与$join->nest()
?
连接不是嵌套的,它们只是用来限制可行记录的数量。
$query = Mytable::select('*') ->leftJoin('table1', 'table1.link_id', '=', 'mytable.link_id') ->join('table2', 'table2.id', '=', 'table1.document_id') ->join('table3 ', 'table3.content_id', '=', 'table2.id');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.