【发布时间】:2019-11-19 01:23:10
【问题描述】:
它可能具有相似的名称和日期。但是,取相似日期的总和。
#<ActiveRecord::Relation [Model name: "a", date: "20190703", count: 20>
#<ActiveRecord::Relation [Model name: "b", date: "20190702", count: 10>
#<ActiveRecord::Relation [Model name: "a", date: "20190702", count: nil>
#<ActiveRecord::Relation [Model name: "c", date: "20190703", count: 20>
#<ActiveRecord::Relation [Model name: "c", date: "20190702", count: 3>
#<ActiveRecord::Relation [Model name: "c", date: "20190702", count: 5> ...etc
预期结果会是这样的
{
:name=>"a", :data=>[{:date=>20190702, :count=>10}, {:date=>20190703, :count=>20}.....]
:name=>"b", :data=>[{:date=>20190702, :count=>10}, ...etc]
:name=>"c", :data=>[{:date=>20190702, :count=>8}, {:date=>20190703, :count=>20}, ..etc]
}
【问题讨论】:
-
这不是一个有效的
Hash请提供一个有效的语法。 -
该数组不能在散列中“浮动”,必须分配给一个键。
-
抱歉,我刚刚更新了最终哈希值。
-
更好的哈希格式可能是使用名称作为键:
{"a" => [{:date=>20190702, :count=>10}, {:date=>20190703, :count=>20}], "b" => [{:date=>20190702, :count=>10}]}如果你愿意,你甚至可以使用日期作为内部键,但这取决于如何你想使用的数据:{"a" => {20190702 => 10, 20190703 => 20}, "b" => {20190702 => 10}} -
@DaveMongoose .. 谢谢。你的第一个案例(哈希内的数组)应该没问题。
标签: ruby-on-rails ruby activerecord hash