举个例子:
一个company has_many employees
一个employee has_many tasks
我想按降序获得所有任务。理想情况下,我想做类似Company.all.employees.tasks.order('created_at desc')
. 不幸的是,当我完成时employees
,我现在有一个 ActiveRecord 对象数组。我遇到这个问题已经有一段时间了,我一直在使用map
and collect
,但是按降序排序会产生比我想要的更多的开销。这可以通过 SQL 查询来完成,所以我确信我可以在 ActiveRecord 中完成,但我的研究并没有太大帮助。
编辑:该解决方案应该适用于任意数量的模型。例如,如果 atask has_many items
和 aitem has_many sub_items
无限。