寻找父类的所有孩子

时间:2013-02-05 07:17:02

标签: ruby-on-rails ruby ruby-on-rails-3 has-many

我有一个特殊的关系,如下所示

  

班级学校有多个部门,部门属于学校

     

班级部门有很多教师,教师属于部门

我希望能够根据他们被雇用的时间(在这种情况下只是“created_at”)列出属于学校的所有教师,但不是按部门组织。我希望ruby on rails有一个非常酷的查找功能:D但如果不是,我将如何检索此列表?也许下面类似的东西可以用来构建一个数组 - 如果是这样,你会如何通过Teach created_at值来组织它?

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

1 个答案:

答案 0 :(得分: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)

这应该足以让你有这个想法。