From 57d87a804264f3d138d34050792d799cc643cfde Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 9 Apr 2020 19:48:50 +0200 Subject: [PATCH] Eager-load variant stock items Avoids another N+1 --- app/services/variants_stock_levels.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/services/variants_stock_levels.rb b/app/services/variants_stock_levels.rb index 5763996752..f06002db19 100644 --- a/app/services/variants_stock_levels.rb +++ b/app/services/variants_stock_levels.rb @@ -8,7 +8,8 @@ class VariantsStockLevels variant_stock_levels = variant_stock_levels(order.line_items) order_variant_ids = variant_stock_levels.keys - missing_variants = Spree::Variant.where(id: (requested_variant_ids - order_variant_ids)) + missing_variants = Spree::Variant.includes(:stock_items). + where(id: (requested_variant_ids - order_variant_ids)) missing_variants.each do |missing_variant| variant = scoped_variant(order.distributor, missing_variant)