Я хочу преобразовать простое объединение SQL Запрос согласно Laravel Структура - PullRequest
1 голос
/ 20 марта 2020

Я хочу преобразовать простое объединение SQL Запрос согласно Laravel Структура. Пожалуйста, найдите мой SQL Запрос ниже

SELECT 
   count(s.id) as totsession,count(ss.session_status=1) as completed

FROM
    sessions s
        LEFT JOIN
    session_status AS ss ON s.id = ss.session_id AND  ss.user_id = {DYNAMIC VALUE} 
        LEFT JOIN
    modules m ON m.id = s.module_id
WHERE
s.session_status = '1' 
    AND m.module_status='1'
        AND m.course_id = {DYNAMIC VALUE}

1 Ответ

1 голос
/ 20 марта 2020

Вы можете попробовать это:

YourSessionModel::selectRaw("
    count(s.id) as totsession,
    count(ss.session_status=1) as completed
")
->leftJoin('session_status AS ss', function($join) use ($dynamic_value){
    $join->on('sessions.id', '=', 'ss.session_id')->where('ss.user_id', $dynamic_value);
})
->leftJoin('modules as m', 'm.id', '=', 'sessions.module_id')
->where('sessions.session_status', 1)
->where('m.module_status', 1)
->where('m.course_id', $dynamic_value)
->get();

Надеюсь, что это работает, как вы хотите

...