2017-02-04 47 views
-1

的删除重复我有这样的要求:从结果集中的ActiveRecord

res = Model1.joins(:items).where(items: {id: [1, 2, 3]}) 

它返回重复数据,虽然是在一个数据库中没有重复。如何从res删除重复项?

回答

5

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

res = Model1.joins(:items).where(items: {id: [1, 2, 3]}).uniq 
+1

钢轨5,不同的是uniq的弃用。 –

+1

@PauloAbreu感谢您指出。将更新答案。 –

0

的SQL连接(使用joins)为您提供了两个表的产品。如果你想获得Model1记录中都涉及到具体Item记录,然后用

Model1.where(item_id: [1, 2, 3])