From f987be6bc228f24e49ddcaab4cc4c8f81ee2894b Mon Sep 17 00:00:00 2001 From: Muammer Top Date: Mon, 28 Jun 2021 14:14:40 +0300 Subject: [PATCH] #4237 The main category does not appear if the subcategory is not attached. --- .../src/Category/CategoryRepository.php | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php b/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php index 69fbd4f8c..2c5d2516c 100644 --- a/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php +++ b/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php @@ -44,36 +44,38 @@ class CategoryRepository extends EntryRepository implements CategoryRepositoryIn $dBName = 'default_cats_category'; $dBNamet = $dBName . '_translations'; - $catsDB = DB::table((DB::raw($dBName . ' c1'))) - ->select( - DB::raw('c1.id'), - DB::raw('c1.slug'), - DB::raw('c1.icon'), - DB::raw('c1.count'), - DB::raw('c1.parent_category_id'), - DB::raw('t1.name'), + $catsDB = DB::table((DB::raw($dBName . ' c1'))) + ->select( + DB::raw('c1.id'), + DB::raw('c1.slug'), + DB::raw('c1.icon'), + DB::raw('c1.count'), + DB::raw('c1.parent_category_id'), + DB::raw('t1.name'), - DB::raw('c2.id as c2_id'), - DB::raw('c2.slug as c2_slug'), - DB::raw('c2.count as c2_count'), - DB::raw('c2.parent_category_id as c2_parent_category_id'), - DB::raw('t2.name as c2_name') - ) - ->leftJoin((DB::raw($dBName . ' c2')), DB::raw('c2.parent_category_id'), '=', DB::raw('c1.id')) - ->leftJoin((DB::raw($dBNamet . ' t1')), DB::raw('c1.id'), '=', DB::raw('t1.entry_id')) - ->leftJoin((DB::raw($dBNamet . ' t2')), DB::raw('c2.id'), '=', DB::raw('t2.entry_id')) - ->where(DB::raw('t1.locale'), Request()->session()->get('_locale', setting_value('streams::default_locale'))) - ->where(DB::raw('t2.locale'), Request()->session()->get('_locale', setting_value('streams::default_locale'))) - ->where(DB::raw("c1.deleted_at"), NULL) - ->where(DB::raw("c2.deleted_at"), NULL) - ->whereNull(DB::raw("c1.parent_category_id")) - ->orderBy(DB::raw("c1.sort_order")) - ->orderBy(DB::raw("c2.sort_order")) - ->get(); - $cats = collect([]); - $cats->subcats = $catsDB; - $cats->maincats = $catsDB->unique('id'); - return $cats; + DB::raw('c2.id as c2_id'), + DB::raw('c2.slug as c2_slug'), + DB::raw('c2.count as c2_count'), + DB::raw('c2.parent_category_id as c2_parent_category_id'), + DB::raw('t2.name as c2_name') + ) + ->leftJoin((DB::raw($dBName . ' c2')), DB::raw('c2.parent_category_id'), '=', DB::raw('c1.id')) + ->leftJoin((DB::raw($dBNamet . ' t1')), DB::raw('c1.id'), '=', DB::raw('t1.entry_id')) + ->leftJoin((DB::raw($dBNamet . ' t2')), function ($join) { + $join->on(DB::raw('c2.id'), '=', DB::raw('t2.entry_id')) + ->where(DB::raw('t2.locale'), Request()->session()->get('_locale', setting_value('streams::default_locale'))); + }) + ->where(DB::raw('t1.locale'), Request()->session()->get('_locale', setting_value('streams::default_locale'))) + ->where(DB::raw("c1.deleted_at"), NULL) + ->where(DB::raw("c2.deleted_at"), NULL) + ->whereNull(DB::raw("c1.parent_category_id")) + ->orderBy(DB::raw("c1.sort_order")) + ->orderBy(DB::raw("c2.sort_order")) + ->get(); + $cats = collect([]); + $cats->subcats = $catsDB; + $cats->maincats = $catsDB->unique('id'); + return $cats; } public function getCategoryById($id)