Rails ActiveRecord仅根据列返回不同的记录

时间:2013-08-25 22:35:00

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

假设我有一个名为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:理想的关系,以便我可以在其上应用其他条件。

1 个答案:

答案 0 :(得分:0)

我认为你应该让你的问题更清楚,你能提供一些例子吗?我不知道这是你在找什么:你可以尝试在where语句后使用“select”或“collect”函数。