【发布时间】:2016-02-22 12:35:45
【问题描述】:
这里有一个 Order 和一个 OrderReport 表。我正在对它进行连接,从每个表中提取一些数据。
OrderReport.joins("INNER JOIN orders on orders.id = order_reports.for_object_id and order_reports.for_object_type = 'Order'").
group("order_reports.sales_user_id, EXTRACT(MONTH from event_at), orders.user_id,event_at").
pluck("order_reports.sales_user_id, EXTRACT(MONTH from event_at), orders.user_id,sum((cached_user_total_due - cached_sales_tax) * split_percentage), min(event_at)")
我有这个很长的 sql + ActiveRecord 查询。我想添加一个初始化程序,并让它接受日期开始和日期结束,使其更加灵活,以便能够从前一年提取报告。
开始和结束日期将来自具有 event_at 列的 Order 表。我知道我会从这样做开始:
attr_reader :start_date, :end_date
def initialize(start_date:, end_date:)
@start_date = start_date
@end_date = end_date
end
【问题讨论】:
标签: sql ruby-on-rails ruby ruby-on-rails-4 activerecord