Wie summiert man alle "total" Spalten in einer Assoziation?Summe zugeordnete Tabellen mit Active Record
Mein SQL-fo saugt, also würde ich gerne lernen, wie man das mit Active Record für meine rails 2.3.5 app macht (also bitte keine schicke Syntax, bitte ;-) Und ich bin auf MySQL.
Lassen Sie uns sagen, ich habe:
Shop
has_many :customers
has_many :transactions, :through => :customers
So normale Sachen.
shop = Shop.first
shop.transactions
=> 100
Ok, alles, was Hintergrund für die Frage:
Ich möchte aus dem vergangenen Jahr die total
Spalte in den Transaktionen Summe (1. JANUAR 2010..Dec 31 2010) und zeigt sie vom Kunden .
Während ich weiß, wie man Transaktionen gruppiert und mit Bedingungen findet, ist es die Summe, wo mein Mangel an SQL mich im Stich lässt.
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))
Ich habe gerade einen Stich, ich bin auf dem richtigen Weg?
Ich habe gerade eine Antwort gefunden, die für mich funktioniert. wird unten posten. – pjammer
auch, würde ich inject verwenden, wenn ich das tun würde. Das alte Ich hätte es, aber ich versuche, die Datenbank für das zu benutzen, was es gut ist. – pjammer