簡體   English   中英

如何使用Laravel查詢構建器編寫嵌套聯接?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM