diff --git a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php index 949a434cf..a009b59f0 100755 --- a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php +++ b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php @@ -122,7 +122,7 @@ class CategoryController extends Controller { $category = $this->categoryRepository->findOrFail($id); - $categories = $this->categoryRepository->getCategoryTree($id); + $categories = $this->categoryRepository->getCategoryTreeWithoutDescendant($id); $attributes = $this->attributeRepository->findWhere(['is_filterable' => 1]); diff --git a/packages/Webkul/Category/src/Repositories/CategoryRepository.php b/packages/Webkul/Category/src/Repositories/CategoryRepository.php index e29aca04e..d8a42c5aa 100755 --- a/packages/Webkul/Category/src/Repositories/CategoryRepository.php +++ b/packages/Webkul/Category/src/Repositories/CategoryRepository.php @@ -76,6 +76,19 @@ class CategoryRepository extends Repository : $this->model::orderBy('position', 'ASC')->get()->toTree(); } + /** + * Specify category tree + * + * @param integer $id + * @return mixed + */ + public function getCategoryTreeWithoutDescendant($id = null) + { + return $id + ? $this->model::orderBy('position', 'ASC')->where('id', '!=', $id)->whereNotDescendantOf($id)->get()->toTree() + : $this->model::orderBy('position', 'ASC')->get()->toTree(); + } + /** * Get root categories *