【发布时间】:2016-06-03 13:43:53
【问题描述】:
我写了一个ActiveRecord 查询来获取一些数据的计数,这些数据按col_a 和col_b 两列分组后得到
result = Sample.where(through: ['col_a', 'col_b'], status: [1, 5]).where("created_at > ?", 1.month.ago).group(:status, :through).count
这会返回:
{[1, "col_a"]=>7, [1, "col_b"]=>7, [5, "col_a"]=>4, [5, "col_b"]=>1}
现在我的问题是,如何访问此哈希中的值?
执行results[1, "col_a"] 之类的操作会引发错误(参数数量错误)。
我知道我可以通过编写一个循环并逐个提取值来做到这一点。
但是我想知道是否有更惯用的方式来访问这些值,类似于results[1],也许?
【问题讨论】:
-
results[[1, "col_a"]] -
错过了嵌套括号。
标签: mysql ruby-on-rails ruby ruby-on-rails-4 activerecord