From ce698e00ed0c3ecaa621c5d8715cc521c480d130 Mon Sep 17 00:00:00 2001 From: Devansh Date: Tue, 21 Jul 2020 18:57:20 +0530 Subject: [PATCH] Sort By Issue Fixed --- .../src/Repositories/ProductRepository.php | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/Webkul/Product/src/Repositories/ProductRepository.php b/packages/Webkul/Product/src/Repositories/ProductRepository.php index 690d6658d..a058d71d2 100755 --- a/packages/Webkul/Product/src/Repositories/ProductRepository.php +++ b/packages/Webkul/Product/src/Repositories/ProductRepository.php @@ -239,6 +239,28 @@ class ProductRepository extends Repository $items = []; } + /* + nullable value coming from the grouped, bundle, and configurable product which cause issue in sorting + added this case to add minimal value from the group and sort whole array + */ + if (isset($params['sort'])) { + + $orderDirection = 'asc'; + if (isset($params['order']) && in_array($params['order'], ['desc', 'asc'])) { + + foreach($items as $item) { + $item->price = $item->getTypeInstance()->getMinimalPrice(); + } + + $orderDirection = $params['order']; + if ($orderDirection === 'asc') { + $items = $items->sortBy('price'); + } else { + $items = $items->sortByDesc('price'); + } + } + } + $results = new \Illuminate\Pagination\LengthAwarePaginator($items, $count, $perPage, $page, [ 'path' => request()->url(), 'query' => request()->query()