2009-04-20 3 views
1

Ich habe ein Problem mit einer Abfrage, die für diese Modelle arbeiten würde. Ich habe drei Modelle, die verbunden sind.Ich brauche Hilfe herauszufinden, die beste Möglichkeit, dies in Schienen abzufragen

Eine Organisation hat viele Benutzer, und Benutzer haben viele StatusEntries

Im Grunde bedeutet dies, ich

tun konnte
Organization.find(1).users.find(1).status_entries 

und haben eine Liste von status_entries mir zurückgegeben.

Das Problem ist, ich versuche, eine Liste von status_entries für eine bestimmte Organisation zu finden. Ich habe Schwierigkeiten, mir einen Weg zu überlegen, der nicht übermäßig kompliziert und elegant ist. Jede Hilfe würde sehr geschätzt werden.

+0

Wollen Sie eine status_entries Organisation für einen Benutzer oder für alle Benutzer? –

+0

Alle Benutzer, also die Einträge für alle Benutzer einer bestimmten Organisation. – ohdeargod

Antwort

10

Ich denke, es ist ein Fall für eine have_many: durch Assoziation:

class Organization 
    has_many :users 
    has_many :status_entries, :through => :users 
end 

dann können Sie tun:

Organization.find(1).status_entries 
+0

Tolle Antwort, es ist mir nicht einmal in den Sinn gekommen, das zu tun. Schneidet 15 Linien von verschiedenen Orten aus. Vielen Dank! – ohdeargod

Verwandte Themen