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

标签 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

谢谢!

最佳答案

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

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

关于mysql - Rails Active Record 组或忽略查询中的重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30645101/

相关文章:

php - 如何将一对多连接查询的结果减少为每个 "one"的单个对象?

mysql - Sphinx安装无法配置MySQL

database - systemctl 启动 postgresql-13 启动失败

ruby-on-rails - 片段缓存和 CSRF

ruby-on-rails - Ruby 中可观察到的模式冗余

PostgreSQL 加入表之间的最新记录

ruby-on-rails - Rails 删除父模型,但仍然访问子模型

c# - 有没有更简单的方法来进行此查询?

php - 如何使用查询从数据库中查找指定的字符串(该字符串存储为 JSON 字符串)?

MySQL 5.7 停止在 mac El Capitan 上运行