0

我有以下型号:

Company has_many Employees has_many Projects

Projects have a deadline:dateTime

现在,我想通过一条生成单个 SQL 的语句,从给定公司的任何项目中获取下一个截止日期。

IE

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

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

有没有比 find 命令更优雅的

find_by_sql?
4

1 回答 1

1

如果你添加

has_many :projects, :through => :employees

到你的公司模式,那么你可以做

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

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

于 2012-07-01T15:23:18.673 回答