我有两个不相关的表,并希望通过自动收报机对它们的值进行求和。
例如:
为了确保一切平衡为零,我希望按照产品ID对订单和销售进行分组,并对值进行求和。
答案 0 :(得分:0)
orders_hash = Order.group(:product_id).sum(:value).sort_by(&:first).to_h
sales_hash = Sale.group(:product_id).sum(:value).sort_by(&:first).to_h
orders_hash == sales_hash
如果上面是false
orders_hash.each do |k, v|
raise "Mismatch for product_id: #{k}" unless sales_hash[k] == v
end