2013-02-05 100 views
0

我有一個特別的關係就是喜歡如下找到所有兒童的父類

學校類的has_many部門,部門belongs_to的學校

類系的has_many教師,教師belongs_to的部門

,我希望能夠列出所有屬於學校的教師,根據他們被聘用的時間(在這種情況下,只是「created_at」)而不是由部門組織。我希望Ruby上的紅寶石有一個非常酷的查找功能:D但如果不是,我會怎麼去檢索這個列表?也許下面類似的東西可以用來構建一個數組 - 如果是的話,你將如何通過Teach created_at值來組織它?

School.departments.each.teachers.each do |t| 
    teacher_list << t 
end 

回答

1

可以使用has_many :through教師,這樣就可以直接查詢教師School

class School < ActiveRecord::Base 

    has_many :departments 
    has_many :teachers, :through => :departments 

    ... 

end 

然後,您可以查詢教師,像這樣:

@school = School.find(id) 
@school.teachers.order(:created_at) 

這應該是足以給你這個想法。

+0

完美!我會搗亂它,並回應一個迴應! – cadlac