From f74182ee3ad47cdf7a8a27821edcd1d3d1717431 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Mon, 15 Feb 2021 10:51:37 +0300 Subject: [PATCH] #3334 Subworkit needs --- .../src/Category/CategoryRepository.php | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php b/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php index 7ff342133..06c66381b 100644 --- a/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php +++ b/addons/default/visiosoft/cats-module/src/Category/CategoryRepository.php @@ -112,35 +112,39 @@ class CategoryRepository extends EntryRepository implements CategoryRepositoryIn public function getMainAndSubCats() { - $dBName = 'default_cats_category'; + $dBName = 'cats_category'; $dBNamet = $dBName . '_translations'; - $catsDB = DB::table((DB::raw($dBName . ' c1'))) + $catsDB = DB::table($dBName . ' as c1') ->select( - DB::raw('c1.id'), - DB::raw('c1.slug'), - DB::raw('c1.parent_category_id'), - DB::raw('c1.icon_id'), - DB::raw('t1.name'), - - DB::raw('c2.id as c2_id'), - DB::raw('c2.slug as c2_slug'), - DB::raw('c2.parent_category_id as c2_parent_category_id'), - DB::raw('t2.name as c2_name'), - - DB::raw('file.id as file_id') + 'c1.id', + 'c1.slug', + 'c1.parent_category_id', + 'c1.icon_id', + 't1.name', + 'c2.id as c2_id', + 'c2.slug as c2_slug', + 'c2.parent_category_id as c2_parent_category_id', + 't2.name as c2_name', + 'file.id as file_id' ) - ->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')) - ->leftJoin(DB::raw('default_files_files file'), DB::raw('c1.icon_id'), DB::raw('file.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")) + ->leftJoin($dBName . ' as c2', function ($join) { + $join->on('c2.parent_category_id', '=', 'c1.id') + ->whereNull('c2.deleted_at'); + }) + ->leftJoin($dBNamet . ' as t1', function ($join) use ($dBNamet) { + $join->on('c1.id', '=', 't1.entry_id') + ->where('t1.locale', Request()->session()->get('_locale', setting_value('streams::default_locale'))); + }) + ->leftJoin($dBNamet . ' as t2', function ($join) use ($dBNamet) { + $join->on('c2.id', '=', 't2.entry_id') + ->where('t2.locale', Request()->session()->get('_locale', setting_value('streams::default_locale'))); + }) + ->leftJoin('files_files as file', 'c1.icon_id', 'file.id') + ->whereNull('c1.deleted_at') + ->whereNull('c1.parent_category_id') + ->orderBy('c1.sort_order') + ->orderBy('c2.sort_order') ->get(); $cats = collect([]); $cats->subcats = $catsDB;