簡體   English   中英

laravel-三個表的內部聯接查詢

[英]laravel - inner join query for three tables

我想將department d表與department dl表和user u表一起加入。 我已經在SQL查詢中做到了這一點。

SELECT distinct(dl.head),
       u.user_name,
       u.id
from department d
inner join department dl on d.parent_department_string_id=dl.string_id
inner join users u on dl.head=u.user_name
where d.sl_flag=1

我想在Laravel查詢中做同樣的事情。 是否可以在Laravel中使用join來連接同一表?

您可以嘗試這樣。

$departmentData = DB::table('department AS d')
            ->innerJoin('department AS d1', function($join) {
                $join->on('d.parent_department_string_id', '=', 'd1.string_id');
            })
            ->innerJoin('users AS u', function($userJoin) {
                $userJoin->on('d1.head', '=', 'u.user_name');
            })
            ->where('d.sl_flag', '=', 1)
            ->select(\DB::raw('distinct(dl.head) AS head'), 'u.user_name', 'u.id')
            ->get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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