0

我有一个应用程序,它只记录许多应用程序的许可证使用情况。该应用程序将每 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 数据库中不起作用。我想知道是否有办法使用红宝石来做到这一点?

4

1 回答 1

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 不起作用。

于 2013-01-04T12:52:31.793 回答