从ActiveRecord的结果集中删除重复项

Kot*_*taa 0 ruby ruby-on-rails ruby-on-rails-5

我有这个要求:

res = Model1.joins(:items).where(items: {id: [1, 2, 3]})
Run Code Online (Sandbox Code Playgroud)

它返回带有重复项的数据,尽管数据库中没有重复项.如何删除重复项res

K M*_*lam 7

使用.uniq Rails中4和.distinct Rails中5:

res = Model1.joins(:items).where(items: {id: [1, 2, 3]}).uniq
Run Code Online (Sandbox Code Playgroud)

  • 对于rails 5,不推荐使用uniq. (2认同)