首页 文章

如何按关系名称对记录进行分组?

提问于
浏览
0

我正在使用 Rails 4.2ChartkickGroupDate gems,以显示有关已购买订单的统计信息 .

order.rb

class Order < ActiveRecord::Base
    ...
    has_many :ice_creams
    ...
  end

ice_cream.rb

class IceCream < ActiveRecord::Base
    ...
    has_and_belongs_to_many :flavors
    has_many :added_extras
    has_many :extras, :through => :added_extras
    belongs_to :order
    ...
  end

extra.rb

class Extra < ActiveRecord::Base
    ...
    has_many :added_extras
    has_many :extras, :through => :added_extras
    ...
  end

我的目的是显示一个显示以下内容的图表:

Extra's Name 分组的整体购买数量 Orders or Ice Creames .

在另一个表达式中,最后一个图表旨在显示最受欢迎的 Extras 客户消费 .

graphs.html.erb

<%= line_chart IceCreams.all.joins(:added_extras).group(:extra_id).count  %>

图表实际上有效,但我不能让它显示 Extra 名称,甚至是 Extra 名称的组 .

 Chart indexes Extras by its ID

无论如何我的问题是......

  • 如何能够显示 Extra 名称而不是id?

1 回答

  • 1

    您可以通过AddedExtra表加入Extra表 . 试试以下:

    IceCreams.joins(added_extras: :extra).group('extras.name').count
    

相关问题