计算过去7天在rails中创建的用户数量? [在Count的语法中需要帮助]

时间:2013-01-31 13:52:10

标签: ruby-on-rails ruby-on-rails-3

我看到了这个Count records created within the last 7 days,但仍然需要一些帮助才能正确获取COUNT的语法,现在我已经

@count_users = User.count('comment')

这给了我所有评论的计数,但我需要知道在过去7天或过去1个月内所做的所有评论的数量,但我无法弄清楚它的正确语法

1 个答案:

答案 0 :(得分:3)

此计数:

@count_users = User.count('comment')

生成以下SQL:

SELECT COUNT(comment) FROM "users"

除非您的用户表中有评论栏,否则不计算正确的对象

如果您有评论模型,则可以使用以下内容计算过去7天内创建的所有评论:

Comment.where('created_at >= ?', Time.zone.now - 7.days).count # count for a week
Comment.where('created_at >= ?', Time.zone.now - 1.months).count # count for a month

如果您想要计算特定用户的评论,您可以使用此(假设评论属于用户,用户has_many评论):

Comment.where(user_id: user.i).where('created_at >= ?', Time.zone.now - 7.days).count