Rails Active Record组或忽略查询的重复结果

时间:2015-06-04 13:27:30

标签: mysql ruby-on-rails postgresql activerecord rails-activerecord

我有一个活动记录查询,它返回搜索查询中的标记列表。我将它呈现给json用于标签搜索。

问题是查询将返回多个相同类型的标签。有没有忽略倍数或组倍数?

这是查询(对不起,这是一个很长的问题):

Tag.joins("INNER JOIN taggings ON taggings.tag_id = tags.id INNER JOIN posts ON taggings.taggable_id = posts.id INNER JOIN buckets ON posts.bucket_id = buckets.id INNER JOIN memberships ON memberships.bucket_id = buckets.id").where(memberships: {user_id: current_user.id, accepted: true}).where("name LIKE ?" , "#{params[:query]}%")

例如,当您搜索“插图”时,会返回标有插图的两个帖子,我想将其分组为一个:

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:4)

您应该能够将.uniq链接到查询的末尾以返回唯一记录。或者您可以尝试.distinct

http://apidock.com/rails/ActiveRecord/QueryMethods/distinct