0

我有这个查询,我用它来获取特定用户的购买,然后将其映射到哈希,以便可以在图表中显示。

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 时间?

4

1 回答 1

0

你为什么不创建一个新的日期时间字段'created_at_in_user_time'呢?然后您可以在“before_create”回调中将正确的时间填入该字段。

于 2013-01-19T11:13:43.267 回答