Ruby on rails 获取Rails中带有日期筛选的子模型的条目计数

Ruby on rails 获取Rails中带有日期筛选的子模型的条目计数,ruby-on-rails,filtering,inner-join,activemodel,counter-cache,Ruby On Rails,Filtering,Inner Join,Activemodel,Counter Cache,我想获得Rails中带有日期过滤的子模型的对象数 让我们详细解释一下: 假设我有两个模型 职位 评论 另外,Comment模型属于Post模型 我想按日期范围获取每个帖子的评论数。例如我只想得到今天的计数 有没有人知道,如果没有很多数据库查询,我怎么做?可以使用计数器缓存吗?一次查询 date_start = params[:date_from].to_date.beginnig_of_day date_end = params[:date_end].to_date.end_of_day

我想获得Rails中带有日期过滤的子模型的对象数

让我们详细解释一下: 假设我有两个模型

  • 职位
  • 评论
另外,
Comment
模型属于
Post
模型

我想按日期范围获取每个帖子的评论数。例如我只想得到今天的计数

有没有人知道,如果没有很多数据库查询,我怎么做?可以使用计数器缓存吗?

一次查询

date_start = params[:date_from].to_date.beginnig_of_day
date_end = params[:date_end].to_date.end_of_day

Post.includes(:comments)
      .where(comments: {created_at: date_start..date_end})
      .group(:id)
      .count
一次查询

date_start = params[:date_from].to_date.beginnig_of_day
date_end = params[:date_end].to_date.end_of_day

Post.includes(:comments)
      .where(comments: {created_at: date_start..date_end})
      .group(:id)
      .count