Как суммировать все «итоговые» столбцы в ассоциации?Связать связанные таблицы с использованием активной записи
Мой SQL-fu сосет, поэтому я хотел бы узнать, как это сделать с помощью Active Record для моего приложения rails 2.3.5 (так что ни один причудливый синтаксис пока не понравился ;-) И я нахожусь в MySQL.
Скажем, у меня есть:
Shop
has_many :customers
has_many :transactions, :through => :customers
Так нормальные вещи.
shop = Shop.first
shop.transactions
=> 100
Хорошо, все, что фон на вопрос:
Я хочу просуммировать total
колонку в сделках с прошлого года (1 января 2010..Dec 31 2010) и отображать их клиентом ,
Несмотря на то, что я знаю, как группировать транзакции и находить с условиями, это сумма, в которой моя нехватка SQL меня не пугает.
first = Date.new(2010, 01, 01)
last = Date.new(2010, 12, 31)
shop.transactions(:conditions => {:created_at => first..last}, :group => :customer_id, :include => sum(:total))
Я только что принял удар, я на правильном пути?
Я только что нашел ответ, который работает для меня. опубликует ниже. – pjammer
также, я бы использовал инъекцию, если бы собирался это сделать. Старое меня было бы, но я пытаюсь использовать базу данных, для чего это хорошо. – pjammer