我编写了一个 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"]]
# => 7
关于mysql - 多列上的组的 Activerecord 查询返回以数组作为键的散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616054/