如何通过.select().distinct()
订购?
控制器方法:
@line_items_sold = LineItem.where()
@vendor_line_items = @line_items_sold.select(:store_title).distinct
查看循环:
<% @vendor_line_items.map do |li| %>
<%= li.store_title %>
<%= @line_items_sold.where(store_title: li.store_title).count %>
<% end %>
我什至不知道从哪里开始。我想按唯一/不同count
的{{1}}对循环进行排序。如何按实例变量自己的变量排序?
更新:使用PG
答案 0 :(得分:1)
控制器
@vendor_line_items = LineItem.group(:store_title)
.select('COUNT(*) as count', 'store_title')
.order('count')
查看
<% @vendor_line_items.map do |li| %>
<%= li.store_title %>
<%= li.count %>
<% end %>
答案 1 :(得分:0)
我知道它是这样工作的:
如果有人有更好的方法,请告诉我
控制器
@vendor_line_items = LineItem.where().group(:store_title).order(count_all: :desc).count
观看次数:
<% @vendor_line_items.map do |li| %>
<%= li[0] %>
<%= li[1]%>
<% end %>