2013-02-05 98 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