如何按月Datamapper查找记录

时间:2012-03-25 17:01:55

标签: datepicker sinatra datamapper

在我的项目中,我需要有能力添加报告。 添加报告用户可以选择放置其报告的日期。 (不是created_at) 我将此数据保存在"日期":数据时间 - 格式列(2012-03-24T00:00:00 + 00:00) 用户从datepicker中选择日期,然后用DateTime.parse(2012-03-24)解析它,然后保存到DB。 比用户通过datepicker选择一个月。 如何正确执行查询以查找特定月份的所有记录? 有没有什么方法可以按月找​​到?

1 个答案:

答案 0 :(得分:2)

没有。您应该计算保证金日期并使用:date => range(它将创建sql BETWEEN查询)。例如:

month = params[:month].to_i
date_a = DateTime.new Date.today.year, month, 1
date_b = (date_a >> 1) + 1  # will add a month and a day
Page.all :updated_at => date_a..date_b