Rails 4:使用可选连接进行查询

时间:2013-11-22 21:34:09

标签: activerecord ruby-on-rails-4 squeel

我有以下课程。他们的工作方式相同:一个人可以成为许多学校的监护人,员工和学生,他们也有一个用户。

class User < ActiveRecord::Base
  belongs_to :person
end

class Person < ActiveRecord::Base
  has_many :guardians
  has_many :employee
  has_many :students
end

class Guardian < ActiveRecord::Base
  belongs_to :person
  belongs_to :school
end

class Student < ActiveRecord::Base
  belongs_to :person
  belongs_to :school
end

class Employee < ActiveRecord::Base
  belongs_to :person
  belongs_to :school
end

如何在一个查询中检索属于特定学校的所有用户?例如,要获得所有员工,我可以执行(使用squeel gem):

User.joins { person.employees }.where { person.employees.school_id == school_id }

我只是不知道写什么查询包括所有三种情况。谢谢你的帮助

0 个答案:

没有答案