sql - 如何从 Rails 中的数据库中选择具有 ID 的不同记录?

我正在尝试选择不同的记录来填充选择标记,并且我需要查询中的 ID,但是当我编写这样的查询时:

Topic.select(:name).distinct

它返回的结果如下所示:

#<ActiveRecord::Relation [#<Topic id: nil, name: "Ruby">, #<Topic id: nil, name: "Python">, #<Topic id: nil, name: "tingz">, #<Topic id: nil, name: "Javascript">, #<Topic id: nil, name: "Java">]>

为了让我的选择下拉菜单正常工作,我还需要返回相应的 ID

这是我在 View 中使用的选择标签:

<%= select_tag :topic_search, options_from_collection_for_select(Topic.select(:name).distinct, :id, :name), placeholder: "Select topic" %>

有没有人知道做这样的事情的最好方法是什么?

最佳答案

我想你想要:

Topic.select('distinct on(name) id, name').order(:name)

https://stackoverflow.com/questions/22699471/

相关文章:

animation - iOS7 SpriteKit 如何对两个或多个 Sprite 节点 chil

spss - 为什么 "repeated measures"在SPSS的 "analyze - gl

ssis - 如何使用任何命令行、C# 或 T-SQL 导出部署在 "Integration Ser

sympy - 在 sympy 中简化自由基

jsf - 如何在 PrimeFaces DataTable 中设置自增列?

python - 如何在 Django 中订购反向外键?

pbs - 请求节点的所有处理器

ruby-on-rails - 不要在 Rails 根路由中发布表单

opengl - Ubuntu 上对 OpenGL 的 undefined reference

indexing - MariaDB 中的索引键大小限制是多少?