2012-03-25 70 views
0

在我的項目中,我需要有能力添加報告。 添加報告用戶可以選擇放置報告的日期。 (not created_at) 我將這些數據保存在「日期」中:DataTime - 格式列(2012-03-24T00:00:00 + 00:00) 用戶從datepicker中選擇日期,並且我用DateTime.parse(2012-03-24)解析它並保存D B。 比用戶通過datepicker選擇一個月。 如何正確執行查詢以查找關鍵月份的所有記錄? 有沒有什麼方法可以按月查找?如何按月查找記錄Datamapper

回答

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 
+0

非常感謝!現在,當我過濾這些記錄時,如何組織循環以顯示按月份每天分組的記錄 – user1136228 2012-03-26 07:50:39

+0

(date_a >> 1)+ 1 - 很好的技巧,但我的知識是難以理解它。再次大謝謝,你幫了我很多! – user1136228 2012-03-26 09:31:35

+1

如果你想增加或減少一些月份,那麼'date >> n'和'date << n'是非常有用的,你不知道那些日子有多少天。 – ujifgc 2012-03-26 13:15:53