【问题标题】:Rails ActiveRecord only return distinct records based on a columnRails ActiveRecord 仅返回基于列的不同记录
【发布时间】:2013-08-25 22:35:00
【问题描述】:

假设我有一个名为 Checkin 的 ActiveRecord 模型,我只想返回由 user_id 不同的 Checkin 记录。有没有办法返回一个 AR 关系?我需要对其应用多个范围,因此我宁愿避免使用 find_by_sql。

例子:

假设我们有以下记录

id: 1
user_id : 5
location_id: 12

id: 2
user_id: 25
location_id: 12

id: 3
user_id: 5
location_id: 12

我希望能够这样说: Checkin.distinct_by(:user_id) 并让它只返回第 1 行和第 2 行(因为 user_id=5 应该是不同的)。我希望这是一个理想的 ActiveRecord:Relation,以便我可以将其他条件应用于此。

【问题讨论】:

    标签: sql ruby-on-rails-3 activerecord ruby-on-rails-4


    【解决方案1】:

    我认为你应该把你的问题说得更清楚,你能举个例子吗?我不知道这就是你要找的:你可以在你的 where 语句之后尝试使用“select”或“collect”函数。

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多