Rails:按特定子模型的属性排序

时间:2017-03-21 09:39:28

标签: sql ruby-on-rails activerecord

我正在尝试使用特定子模型中的属性来排序数组。假设我有一个用户列表,每个用户都有交易,我想通过最后创建的交易来订购我的用户。

我试过

@invoices = User.includes(:payments).order('payments.last.created_at')

但似乎last被认为是一个属性而不是一个函数,它会引发这个错误:

ERROR:  missing FROM-clause entry for table

有没有办法按计划订购我的用户?

1 个答案:

答案 0 :(得分:2)

如果您想以降序排序,则不需要此查询中的last方法。

Intead在命令中使用DESC,

@invoices = User.includes(:payments).order('payments.created_at DESC')