如何查询按日期过滤的活动记录?

How to query the active record filtering by date?

我如何才能 select A​​LL students 我的数据库中只有 5 月份处于活动状态的学生?我在活动记录文档中找不到它。我只查询了五月份创建的学生,没有A​​LL students active....

Student.where(status:'active', created_at: ('2021-05-01'..'2021-05-31')).count

其实我的想法是这样的:

Student.where(status:'active', datetime: (('2021-05-01'..'2021-05-31')).count

您需要像这样解析日期:

Student.where(status:'active', created_at: (Date.parse('2021-05-01')..Date.parse('2021-05-31'))).count

您还可以让 Rails 设置月份的开始和结束:

Student.where(status:'active', created_at: (Time.new(2021, 5).beginning_of_month..Time.new(2021, 5).end_of_month))).count

如果状态是 enum 你也可以这样查询:

Student.active.where(created_at: (Time.new(2021, 5).beginning_of_month..Time.new(2021, 5).end_of_month))).count