diff --git a/addons/default/visiosoft/cats-module/src/Category/CategoryCriteria.php b/addons/default/visiosoft/cats-module/src/Category/CategoryCriteria.php index 71865b8b6..b4712eb7b 100644 --- a/addons/default/visiosoft/cats-module/src/Category/CategoryCriteria.php +++ b/addons/default/visiosoft/cats-module/src/Category/CategoryCriteria.php @@ -1,8 +1,35 @@ categoryRepository = $categoryRepository; + } + + public function getMainCats() { + $mainCats = $this->categoryRepository->newQuery() + ->whereNull('parent_category_id') + ->orderBy('sort_order') + ->get(); + + foreach ($mainCats as $cat) { + $subCount = $this->categoryRepository->newQuery()->where('parent_category_id', $cat->id)->count(); + $cat->hasChild = !!$subCount; + } + + return $mainCats; + } } diff --git a/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php b/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php index a403f9cbd..3f7995a8b 100644 --- a/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php +++ b/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php @@ -50,9 +50,16 @@ class CategoryRepository extends EntryRepository implements CategoryRepositoryIn public function getSubCatById($id) { - return $this->model->newQuery() + $cats = $this->model->newQuery() ->where('parent_category_id', $id) ->get(); + + foreach ($cats as $cat) { + $subCount = $this->model->newQuery()->where('parent_category_id', $cat->id)->count(); + $cat->hasChild = !!$subCount; + } + + return $cats; } public function getSingleCat($id)