id, role_id
forecasts
- id, user_id, event_id, coefficient, bet
events
- id, status
Мне нужно сформулировать запрос на получения списка пользователей и добавить в полученные результаты к каждому пользователю поле ROI
Т.е. хочу что-то такое
USER::where('role_id', 2)
->добавитьКолонку ROI которая получается из результатов :
( (Cумма(bet * coefficient) - сумма(bet) ) WHERE events.status = 2 )
/
Сумма(bet) со всеми events.status
Ну и
->groupBy('users.id')
Как правильно составить такой запрос?😅
SQL
В продолжение этого, запрос на SQL составил SELECT DISTINCT users.*, (SELECT SUM(forecasts.bet * forecasts.coefficient) - SUM(forecasts.bet) FROM forecasts, events where users.id = forecasts.user_id AND events.id = forecasts.event_id AND events.status = 2) / SUM(forecasts.bet) as roi FROM users, forecasts, events WHERE users.id = forecasts.user_id AND events.id = forecasts.event_id GROUP BY users.id Можно это как-то переделать под laravel eloquent ? Чтобы не писать DB::select($query)
Обсуждают сегодня