【问题标题】:Finding all children for a parent class查找父类的所有子类
【发布时间】:2026-01-19 13:00:02
【问题描述】:

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

Class School has_many Departments, Department belongs_to School

班级部门有_许多教师,教师属于_部门

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

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

【问题讨论】:

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


    【解决方案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)
    

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

    【讨论】:

    • 完美!我会弄乱它并回复回复!