Сценарий заключается в том, что есть отель, и у него так много сотрудников. теперь сотрудники могут подать заявку на листья.
В таблице "Листья" есть столбец "Начало и конец даты", если работник уходит с 5 декабря по 15 декабря, а дата начала - 5 декабря, а дата окончания - 15 декабря.
Как я могу получить общий доход в 2017 году в определенный будний день, как в понедельник?
Найдено решение:
def calculate_weekdays
count_weekday = {}
(0..6).to_a.select{|t| count_weekday[t]=0 }
Event.all.each do |event|
start_date, end_date = event.start_time, event.end_time
result = ( start_date.to_date..end_date.to_date ).to_a.select { |k| count_weekday[k.wday]=count_weekday[k.wday]+1}
end
return count_weekday
end
Я думаю, вы можете использовать gem groupdate
С запросом типа:
Leave.where( ... ).group_by_day_of_week(:start_date).count