From e47e10d267289e6bc5b349f3263b42f326a5463b Mon Sep 17 00:00:00 2001 From: Rob Harrington Date: Fri, 12 May 2017 12:39:36 +1000 Subject: [PATCH] Removing n+1 query from #items_bought_by_user --- app/models/order_cycle.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/order_cycle.rb b/app/models/order_cycle.rb index 64fcce4baf..6a21b9309e 100644 --- a/app/models/order_cycle.rb +++ b/app/models/order_cycle.rb @@ -253,8 +253,8 @@ class OrderCycle < ActiveRecord::Base def items_bought_by_user(user, distributor) # The Spree::Order.complete scope only checks for completed_at date, does not ensure state is "complete" orders = Spree::Order.complete.where(state: "complete", user_id: user, distributor_id: distributor, order_cycle_id: self) - items = orders.map(&:line_items).flatten scoper = OpenFoodNetwork::ScopeVariantToHub.new(distributor) + items = Spree::LineItem.joins(:order).merge(orders) items.each { |li| scoper.scope(li.variant) } end