У меня есть пользователи, которых я хочу подсчитать, присоединившись к таблице слева для тренировок и получив по одной строке для каждого пользователя.Таким образом, пользователи, которые были только один раз в таблице тренировок или больше, но мне нужна только одна строка на user_id.
Это работает с использованием внутри исходного запроса SQL, но при попытке отформатировать его в laravel это не так:
$users->leftJoin('workout', function($join){
$join->on('user.id', '=', 'workout.user_id')
->where('workout.user_id', '>', 1)
->groupBy('workout.user_id');
})
Это запрос, который работает как необработанный запрос:
select * from `users`
left join (select workout.user_id, workout.id_holofit from workout where workout.user_id > 1 group by workout.user_id) workout ON workout.user_id = users.id