Здесь у меня есть таблица Order и OrderReport. Я делаю присоединение к нему, извлекая некоторые данные из каждой из таблиц.Параметры диапазона дат к запросу SQL/ActiveRecord в Rails
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. Я знаю, что бы начать, делая это:
attr_reader :start_date, :end_date
def initialize(start_date:, end_date:)
@start_date = start_date
@end_date = end_date
end