このクエリを使用して、特定のユーザーが行った購入を取得し、ハッシュにマップしてグラフに表示できるようにします。
orders_graph = user.orders.where(:purchased_period => current_period).
group("date(created_at)").
select("purchased_at, sum(total_price) as total_price")
(start_time.to_date..Date.today).map do |date|
order = orders_by_day.detect { |order| order.created_at.in_time_zone("#{user.time_zone}").to_date == date }
order && order.total_price.to_f || 0
ただし、ユーザー時間ではなくサーバー時間に基づいてクエリがグループ化されているため、グラフが正しくないことがよくあります (これは私が望むことです)。グループ化の前 (またはその時点) に created_at 時間を変更する方法はありますか?