Rails:按营业时间过滤记录

时间:2013-01-04 06:49:30

标签: ruby-on-rails

我有一个应用程序,它只记录许多应用程序的许可证使用情况。该应用程序只会每隔X分钟轮询许可证使用情况。

我想过滤记录,以便获取在营业时间之间生成的记录。原因是在营业时间和营业时间显示应用程序使用情况。

目前,我有使用mysql语句过滤的代码: -

app_usage.find(<app id>.feature.find(:all, 
 :conditions => ["name = ? and hour(created_at) > ? and 
  hour(created_at) < ? and dayofweek(created_at) not in (1,7)", 
 <feature_name>, 8, 18])

当然,这在sqlite3数据库中不起作用。我想知道是否有办法使用ruby?

1 个答案:

答案 0 :(得分:0)

我认为ActiveRecord没有针对这些MySQL特定功能的方法。至少,我还没有找到它们。如果你在sqlite中寻找这个查询的等价物,那将是这样的:

:conditions => ["name = ? and strftime('%H', created_at) > ? and strftime('%H', created_at) < ? and strftime('%w', created_at) not in (1,7)", <feature_name>, 8, 18]

但这对MySQL不起作用。