Left Join не работает должным образом, но SQL принимает его - PullRequest
0 голосов
/ 25 марта 2019

HomeController.php

public function index()
{      
    $employees = DB::table('timings')
                ->distinct()
                ->selectRaw("timings.employee_id, min(time_logged) AS minTime, max(time_logged) AS maxTime")
                ->leftJoin('employees','timings.employee_id','=','employees.employee_id')
                ->where( DB::raw('cast(time_logged AS date)') , DB::raw('CURDATE()'))
                ->groupBy('timings.employee_id', DB::raw('cast(time_logged AS date)') )
                ->get();

    return view('home',compact('employees'));
}

Фактический SQL

employee_id  |   minTime     |    maxTime     
1                2019-03-25       09:00:00 2019-03-25 14:00:00
...

Результат

Array ( 
    [0] => stdClass Object ( 
    [employee_id] => 1 
    [minTime] => 2019-03-25 09:00:00 
    [maxTime] => 2019-03-25 14:00:00 
)
... 

Почему-то MYSQL принимает Left Join, но ничего не происходит!У меня есть 2 таблицы, сотрудники и сроки.Включаю ли я leftJoin или комментирую его, код работает, но таблица EMPLOYEE не будет отображаться.Я понятия не имею, почему это не работает.

1 Ответ

0 голосов
/ 25 марта 2019

Вы не выбрали детали из employee таблицы

->selectRaw("timings.employee_id, min(time_logged) AS minTime, max(time_logged) AS maxTime,employees.first_name, employees.last_name")
...