前提・実現したいこと
日付と数値が保存されたdbのデータを日付でまとめたハッシュにしたいです。
ruby
1# Table name: posts 2# 3# date :date 4# val :integer
ruby
1現在取り出せている形 2["10-04", 10] 3["10-04", 20] 4["10-03", 15] 5["10-02", 22]
ruby
1こういった形に変形したいです 2@data = { 3 "10-04" : [10,20], 4 "10-03" : [15], 5 "10-02" : [22] 6}
試したこと
ruby
1 #fromとtoで日付を指定しています 2 @posts = Post.where(date: from...to).pluck(:date, :val) 3 # 取り出した値のサンプル 4 #[[Thu, 04 Oct 2018, 10], [Thu, 04 Oct 2018, 20], [Wed, 03 Oct 2018, 15], ...] 5 6 #日付はこんな感じでフォーマットする予定です 7 @days = @posts.map(&:first).map { |el| el.strftime('%m-%d') } 8 #フォーマットしてまとめた後 9 #[["10-04",10], ["10-04",20], ["10-03", 15], ...]
ここから希望の形にしたいのですがそのままハッシュにすると、同じkeyでは上書きされてしまい希望の形になりませんでした。
現在取り出せている形からどうしたら希望の形にできるでしょうか。
また、もしもっと効率の良い方法がありましたらご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/05 06:45