仅在外键值不为null时如何联接两个表

时间:2019-03-29 10:50:38

标签: laravel

仅当左侧(employees)表的purchasesemployee_id时,我才想联接右侧(NOT NULL)表,但是如果{{1 }}是employee_id

NULL

1 个答案:

答案 0 :(得分:1)

尝试使用leftJoin。它将加入员工的行列。

$data = DB::table('purchases')
            ->join('demands', 'purchases.demand_id', 'demands.id')
            ->join('fiscal_years', 'purchases.fiscal_year_id', 'fiscal_years.id')
            ->leftJoin('employees', function ($join){
                $join->on('purchases.employee_id', 'employees.id')
                    ->where('purchases.employee_id', '!=', null);
            })
            ->select('purchases.*', 'demands.code', 'fiscal_years.year', 'employees.name')
            ->get();