我看到了过去 7 天内创建的 Count 记录,但仍然需要一些帮助才能正确获取 COUNT 的语法,现在我有
@count_users = User.count('comment')
这给了我所有评论的计数,但我需要知道仅在过去 7 天或过去 1 个月内发表的所有评论的计数,但我无法找出正确的语法
我看到了过去 7 天内创建的 Count 记录,但仍然需要一些帮助才能正确获取 COUNT 的语法,现在我有
@count_users = User.count('comment')
这给了我所有评论的计数,但我需要知道仅在过去 7 天或过去 1 个月内发表的所有评论的计数,但我无法找出正确的语法
这个数:
@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