Avoid N+1s when using OrderCycle#exchanges_supplying

This commit is contained in:
Matt-Yorkley
2020-04-28 01:07:15 +02:00
parent fe2bf8d531
commit 3fa2b3161f

View File

@@ -240,7 +240,8 @@ class OrderCycle < ActiveRecord::Base
end
def exchanges_supplying(order)
exchanges.supplying_to(order.distributor).with_any_variant(order.variants.map(&:id))
variants_relation = Spree::Variant.joins(:line_items).merge(Spree::LineItem.in_orders(order))
exchanges.supplying_to(order.distributor).with_any_variant(variants_relation)
end
def coordinated_by?(user)