2

我看到了过去 7 天内创建的 Count 记录,但仍然需要一些帮助才能正确获取 COUNT 的语法,现在我有

@count_users = User.count('comment')

这给了我所有评论的计数,但我需要知道仅在过去 7 天或过去 1 个月内发表的所有评论的计数,但我无法找出正确的语法

4

1 回答 1

4

这个数:

@count_users = User.count('comment')

生成以下 SQL:

SELECT COUNT(comment) FROM "users"

因此,除非您的 users 表中有评论列,否则它不会计算正确的 objects

如果您有 Comment 模型,您可以使用以下方法计算过去 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

如果你想计算特定用户的评论,你可以使用这个(假设一个评论属于一个用户和一个用户有_很多评论):

Comment.where(user_id: user.i).where('created_at >= ?', Time.zone.now - 7.days).count
于 2013-01-31T14:33:01.907 回答