按工作日检索rails中的记录



在我的应用程序中,我想显示一个图表,显示在哪一天创建某些记录(例如星期一5条记录,星期二2条记录等)

如何在rails中按工作日检索记录?

提前感谢迈克。

您可以在ActiveRecord查询中使用group按工作日分组。类似如下:

def self.recent_by_day(created_after
  where("create_at >= ?", created_after).group("day")
end

你可以在这里找到文档

是的,你可以这样做

MyClass.where("DAYOFWEEK(created_at) == 3")

如果你想要一个图的所有值,你可以这样做:

MyClass.select("DAYOFWEEK(created_at) as DOW, count(*) as CNT")
       .group("DOW").each do |f| 
    puts "#{f.DOW}, #{f.CNT}" 
end 
输出:

1, 2
5, 1
7, 68

我认为在这种情况下,最好使用数据库的强大功能来处理分组的繁重工作。

最新更新