ruby-on-rails – Rails范围:选择带有值的不同标题
发布时间:2020-12-17 01:26:52 所属栏目:百科 来源:网络整理
导读:我在范围内遇到SQL查询问题.我需要返回一个独特的Project.titles及其附带的id的集合,以便在表单中使用. 我可以使用不同的标题 scope :unique_title,select("DISTINCT title") 但是我没有在结果选项中获得价值 = project_form.input:id,collection:current_
我在范围内遇到SQL查询问题.我需要返回一个独特的Project.titles及其附带的id的集合,以便在表单中使用.
我可以使用不同的标题 scope :unique_title,select("DISTINCT title") 但是我没有在结果选项中获得价值 = project_form.input:id,collection:current_user.projects.unique_title 结果: <select> <option value>Item 1</option> <option value>Item 2</option> <option value>Item 3</option> </select> 所以,在我的范围中添加id: scope :unique_title,select("DISTINCT title").select("id") 结果给出了值,但现在我的DISTINCT选择已不存在: <select> <option value="1">Item 1</option> <option value="2">Item 2</option> <option value="3">Item 3</option> <option value="4">Item 2</option> <option value="5">Item 2</option> <option value="6">Item 2</option> </select> 解决方法
我认为你将无法选择另一个领域以及保持其独特性的独特选择.
我想你可能正在寻找可以在Rails中使用的GROUP BY: scope :unique_title,select("id,title").group("title") 但是,这将仅选择具有相同标题的组中的第一个.如果您想要所有记录但需要根据标题对它们进行分组,则需要获取所有记录,然后从Ruby中对它们进行分组. scope :titles,title") 那你在哪里使用范围,你sh: Model.titles.all.group_by(&:title).each do |distinct_title,records| # do something with the distinct title and records having that distinct title end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |