二维数组高图活动记录关联

史蒂夫·Q

我正在尝试制作一个二维数组以用于高图表饼图。我正在使用宝石lazy_high_charts创建图表。我没有包括实际的图表代码,因为它可以处理伪数据,我只需要弄清楚如何动态地制作与我硬编码相同的数组即可。

我到处都看了看,而且我已经做了几天,似乎什么也没用。请帮忙!

我试图让它看起来像这样:

[['Google Organic', 1],['Facebook', 1],['Radio', 2],['Pens', 1], ['Other', 2]]

Google Organic等是基于has_many当属关联组织的Leads数据库列中的外键的。数字是每个ID对每个用户出现多少次的计数。

现在我明白了,这是正确的,但是我不确定如何将id转换为实际名称:

[[3, 1], [4, 1], [5, 2], [7, 1], [8, 2]]

它遍历Leads db表中的nonleadaction_id列,并在每次显示每个ID时进行计数。然后,我需要在那里建立关联,因此我知道一次出现了“ Google Organic”。

因此,理想情况下,我想将3更改为:“ Google Organic”,将4更改为“ Facebook”,依此类推。

主管模型

belongs_to :user
has_one :nonleadaction

用户模型

has_many :leads

NonLeadAction模型

belongs_to :lead

Leads_Controller:

  def show
    @user = current_user
    @actions_breakdown = @user.leads.group(:nonleadaction_id).distinct.count.to_a.drop(1)
  end
史蒂夫·Q

这是我解决此问题的方法:

def leads_breakdown
    e = self.opportunities.group(:category_id).distinct.count.to_a.drop(1).flatten
    evalues = e.values_at(* e.each_index.select {|i| i.even?})
    Category.find(evalues).map { |c| [c.reason, c.id]  }
end

def source_breakdown
    e = self.opportunities.group(:source).distinct.count.to_a
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章