Rails find_by在较低的层次结构级别

时间:2012-07-01 15:19:37

标签: sql ruby-on-rails ruby has-many find-by-sql

我有以下型号:

Company has_many Employees has_many Projects

Projects have a deadline:dateTime

现在我希望通过一个生成单个SQL的语句来获取给定公司的任何项目的下一个截止日期。

即。

def get_next_deadline
   * * * select deadline from projects where employee_id in (employees.each |i| )) * * *
end

我不想要的是遍历所有公司员工并检查下一个截止日期,为每个员工访问数据库一次。

是否有比

更优雅的查找命令
find_by_sql?

1 个答案:

答案 0 :(得分:1)

如果你添加

has_many :projects, :through => :employees

到您的公司模型,然后就可以了

some_company.projects.order('deadline').first

找到该公司第一个截止日期的项目