假设我有两个模型,即客户和订单。订单有一个状态列。我试图避免N + 1问题,所以我希望一个查询返回Customer模型,并添加一个“列”,它是每个订单状态的哈希,其中包含属于该订单的计数。
class Customer < ActiveRecord::Base
has_many :orders
end
class Order < ActiveRecord::Base
belongs_to :customer
end
预期输出
#<Customer:0x007fb64596ba38> {
:id => 1,
:first_name => 'Bob',
:email => 'test@test.com',
:order_statuses_count: {shipped: 1, returned: 1, :processing: 0}
}
如果有人比我预期的输出有更好的想法,请告诉我。