2012-03-25 3 views
0

私のプロジェクトでは、レポートを追加する能力が必要です。 レポートユーザーを追加すると、レポートを配置する日付を選択できます。 (not created_at) 私はこのデータを "Date"に保存します:DataTime - formatカラム(2012-03-24T00:00:00 + 00:00) ユーザーはdatepickerから日付を選択して、それをDateTime.parse(2012-03-24)で解析し、 DB。 datepicker経由のユーザーより1か月が選択されます。 Peritanular Monthのすべてのレコードを検索するクエリを正しく実行するにはどうすればよいですか? 月ごとに見つける方法はありますか?月ごとのレコードの検索方法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

+0

(date_a >> 1)+ 1 - 素敵なトリックですが、私の知識は理解できません。もう一度大きなおかげで、あなたは私を大いに助けました! – user1136228

+1

'date >> n'と' date << n'は、いくつかの月を加算したり減算したりするときに非常に便利です。 – ujifgc

関連する問題