From ef20fa1393ccbc3f17e91e0cb99cf9b15447a6c7 Mon Sep 17 00:00:00 2001 From: jitendra Date: Fri, 25 Mar 2022 18:51:31 +0530 Subject: [PATCH] Issue #4959 fixed --- packages/Webkul/Checkout/src/Cart.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index 22c2f04ce..413f8880a 100755 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -136,17 +136,18 @@ class Cart /** * Get cart item by product. * - * @param array $data + * @param array|null $data + * @param array $parentData * @return \Webkul\Checkout\Contracts\CartItem|void */ - public function getItemByProduct($data) + public function getItemByProduct($data, $parentData = null) { $items = $this->getCart()->all_items; foreach ($items as $item) { if ($item->product->getTypeInstance()->compareOptions($item->additional, $data['additional'])) { if (isset($data['additional']['parent_id'])) { - if ($item->parent->product->getTypeInstance()->compareOptions($item->parent->additional, request()->all())) { + if ($item->parent->product->getTypeInstance()->compareOptions($item->parent->additional, $parentData ?: request()->all())) { return $item; } } else { @@ -194,7 +195,7 @@ class Cart $parentCartItem = null; foreach ($cartProducts as $cartProduct) { - $cartItem = $this->getItemByProduct($cartProduct); + $cartItem = $this->getItemByProduct($cartProduct, $data); if (isset($cartProduct['parent_id'])) { $cartProduct['parent_id'] = $parentCartItem->id;