2012-04-15 2 views
0

Ich habe 2 Modelle, Lehrer und TeacherLeader:Rails 3 - bekommen und Objekte des Modells aus verwandten Modell sortiert

# id  :integer 
# last_name :string(255) 
class Teacher < ActiveRecord::Base 
    has_one :teacher_leader 
end 

# teacher_id :integer 
class TeacherLeader < ActiveRecord::Base 
    belongs_to :teacher 
end 

Ich möchte alle Lehrer bekommen, die Lehrer Führer und sortieren sie über last_name . Wie kann ich das machen?

+1

Wenn ich richtig verstehe, kann ein Lehrer ein "normaler" Lehrer oder optional ein Lehrerführer sein, richtig? Wenn ja, warum bringst du nicht einfach eine boolesche Flagge in das Lehrermodell? – 23tux

+0

@ 23tux Nein. Wenn das ** TeacherLeader ** Modell 'teacher_id' hat, dann haben wir einen anderen Benutzer. Deshalb ist das Hinzufügen einer booleschen Flagge meiner Meinung nach keine so gute Idee. – ExiRe

Antwort

1
Teacher.joins(:teacher_leader).uniq.order(:last_name) 
+1

.order ("last_name DESC") – klump

+0

))) Gedankenleser! – jdoe

+0

Gern geschehen: D – klump