首页 > 解决方案 > 根据 Rails 中的列获取唯一记录

问题描述

寻找一种方法来获取资源的所有相关记录,并通过 column( :author_id) 将它们全部区分,然后按created_at列排序。这里有几个类似的问题,但是我看不到任何包含我需要的排序的问题。试图避免转换为数组。

  Post.find(id)
   .ratings
    .select(
     "DISTINCT on (author_id) author_id, rating_number, created_at, id")
      .order(created_at: :desc)

第一部分有效,但是在引入订单时,将 created_at 添加到 DISTINCT 子句中给我一个错误。然后它可以工作,但是我会得到在 just 上不明显的记录:author_id

标签: ruby-on-railsactiverecord

解决方案


推荐阅读