我看到了这个Count records created within the last 7 days,但仍然需要一些帮助才能正确获取COUNT的语法,现在我已经
@count_users = User.count('comment')
这给了我所有评论的计数,但我需要知道在过去7天或过去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