如何按has_many最后一个活动字段对rails模型进行排序?

时间:2019-01-14 21:18:28

标签: ruby-on-rails ruby postgresql activerecord

我有两个模型:

User has_many Subscription

我的用户模型具有一个名为active_subscription的功能。

def active_subscription
  subscriptions.where(active: true).last
end

我希望能够通过此活动订阅的type_name字段对我的用户进行排序。我需要使用活动订阅,因为在我的视图中仅呈现最后一个活动订阅。

我有这样写:

includes(:subscriptions).order("subscriptions.type_name #{sort_order}")

但是,这没有考虑到有效订阅。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用范围可能会有所帮助,以下是您遇到的问题的示例

  try {
    let total = await db.collection('Furniture')
      .find({})
      .count();

    let products = await db.collection('Furniture')
      .find({})
      .sort({})
      .skip((page - 1) * pageSize)
      .limit(pageSize)
      .toArray();

    res.json({total, products});
  } catch (e) { console.log('Error sending products', e); }