我有以下型号:
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?
答案 0 :(得分:1)
如果你添加
has_many :projects, :through => :employees
到您的公司模型,然后就可以了
some_company.projects.order('deadline').first
找到该公司第一个截止日期的项目