如何按关系名称对记录进行分组?
How to group records, by a relation name?
我正在使用 Rails 4.2、Chartkick & GroupDate 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
我的目的是显示一个图表,显示以下内容:
按演员姓名.
分组的 订单或冰淇淋 的总购买数量
换句话说,最后一个图表旨在显示最受欢迎的 Extras 客户消费。
graphs.html.erb
<%= line_chart IceCreams.all.joins(:added_extras).group(:extra_id).count %>
图表确实有效,但我无法让它显示 Extra 名称,甚至无法按 Extra 名称分组。
无论如何我的问题是...
- 如何显示 Extra 名称而不是 ID?
您可以通过 AddedExtra table 加入 Extra table。尝试以下:
IceCreams.joins(added_extras: :extra).group('extras.name').count
我正在使用 Rails 4.2、Chartkick & GroupDate 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
我的目的是显示一个图表,显示以下内容:
按演员姓名.
分组的 订单或冰淇淋 的总购买数量换句话说,最后一个图表旨在显示最受欢迎的 Extras 客户消费。
graphs.html.erb
<%= line_chart IceCreams.all.joins(:added_extras).group(:extra_id).count %>
图表确实有效,但我无法让它显示 Extra 名称,甚至无法按 Extra 名称分组。
无论如何我的问题是...
- 如何显示 Extra 名称而不是 ID?
您可以通过 AddedExtra table 加入 Extra table。尝试以下:
IceCreams.joins(added_extras: :extra).group('extras.name').count