def self.leave_day
self.where("? BETWEEN start_date AND end_date", Date.today).where(status: "Approved").count
end
但我想计算从今天到接下来的3天。现在是计算两个日期,如果给定日期范围(Date.today+1(,则状态为今天。。(日期:今天+3.天(不接受
什么是不接受范围?U可以用一个范围来完成,并将start_date
设置为日期的开始,将end_date
设置为一天的结束。
def self.leave_day
self.where(start_date: (Date.today.beginning_of_day)..((Date.today + 3.days).end_of_day), status: 'Approved').count
end
可以在where
上使用多个参数。
我认为应该是这样的:
def self.leave_day
self.where("start_date >= ? AND end_date <= ?", Date.today, Date.today + 3.days).where(status: "Approved").count
end
来源:https://api.rubyonrails.org/classes/ActiveRecord/QueryMethods.html#method-i-where