Rails Active Record Query工作日总计离开
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails Active Record Query工作日总计离开相关的知识,希望对你有一定的参考价值。
情景是有酒店,有这么多员工。现在员工可以申请离开。
离职表有开始和结束日期列,假设员工从12月5日到12月15日休假,开始日期为12月5日,结束日期为12月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
以上是关于Rails Active Record Query工作日总计离开的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 Rails 中 Active Record 的默认时区?
Active Record Query Interface 数据查询接口(界面)
Rails 中的 Active Record 和 ORM 有啥区别?