From 6c985c1b293bf25ab39f5b39e42db05b538d1b4c Mon Sep 17 00:00:00 2001 From: husanjon Date: Mon, 6 Apr 2026 06:05:09 +0500 Subject: [PATCH] Fix DB schema mismatches from backup import - purpose/concern/region/district tables use uz/ru/cr instead of name - auto_orders/estate_orders use purpose_id not purpose - Add ownerName/owner computed fields from owner_first/last_name - Fix appraiserChart to use order_members instead of appraiser_id - Fix DebitController to join appraiser and order relations - Fix role queries to be case-insensitive (DB has mixed case) Co-Authored-By: Claude Sonnet 4.6 --- app/Http/Controllers/AutoController.php | 79 +++++++++++++++------ app/Http/Controllers/ConcernController.php | 4 +- app/Http/Controllers/DebitController.php | 33 +++++++-- app/Http/Controllers/DillerController.php | 2 +- app/Http/Controllers/DistrictController.php | 4 +- app/Http/Controllers/EstateController.php | 59 +++++++++------ app/Http/Controllers/HomeController.php | 5 +- app/Http/Controllers/PurposeController.php | 4 +- app/Http/Controllers/RegionController.php | 4 +- app/Http/Controllers/RoleController.php | 2 +- app/Http/Controllers/UserController.php | 6 +- 11 files changed, 139 insertions(+), 63 deletions(-) diff --git a/app/Http/Controllers/AutoController.php b/app/Http/Controllers/AutoController.php index 244b8c8..a2f602f 100644 --- a/app/Http/Controllers/AutoController.php +++ b/app/Http/Controllers/AutoController.php @@ -7,35 +7,58 @@ use Illuminate\Support\Facades\DB; class AutoController extends Controller { + private function ordersQuery() + { + return DB::table('auto_orders as o') + ->leftJoin('purposes as p', 'p.id', '=', 'o.purpose_id') + ->leftJoin('concerns as c', 'c.id', '=', 'o.car_category') + ->selectRaw('o.*, o.ordered_customer as customer, p as "purposeOne"') + ->selectRaw('o.*, o.ordered_customer as customer') + ->addSelect([ + 'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'), + 'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'), + 'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'), + 'concern_name' => DB::table('concerns')->select('name')->whereColumn('id', 'o.car_category'), + ]); + } + public function index(Request $request) { - $filters = $request->only(['search', 'period', 'status', 'appraiser', 'diller', 'purpose']); + $filters = $request->only(['search', 'period', 'status', 'appraiser', 'purpose_id', 'car_category']); $size = $request->get('size', 20); - $query = DB::table('auto_orders')->selectRaw('*, ordered_customer as customer')->orderByDesc('id'); + $query = DB::table('auto_orders as o') + ->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as "ownerName"') + ->addSelect([ + 'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'), + 'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'), + 'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'), + 'concern_uz' => DB::table('concerns')->select('uz')->whereColumn('id', 'o.car_category'), + 'concern_ru' => DB::table('concerns')->select('ru')->whereColumn('id', 'o.car_category'), + 'concern_cr' => DB::table('concerns')->select('cr')->whereColumn('id', 'o.car_category'), + ]) + ->orderByDesc('o.id'); if (!empty($filters['search'])) { $s = '%' . $filters['search'] . '%'; $query->where(function ($q) use ($s) { - $q->where('number', 'like', $s) - ->orWhere('ordered_customer', 'like', $s); + $q->where('o.number', 'like', $s)->orWhere('o.ordered_customer', 'like', $s); }); } - if (!empty($filters['status'])) { - $query->where('status', $filters['status']); - } - if (!empty($filters['purpose'])) { - $query->where('purpose', $filters['purpose']); - } + if (!empty($filters['status'])) $query->where('o.status', $filters['status']); + if (!empty($filters['purpose_id'])) $query->where('o.purpose_id', $filters['purpose_id']); + if (!empty($filters['car_category'])) $query->where('o.car_category', $filters['car_category']); - $orders = $query->paginate($size)->withQueryString(); + $rawOrders = $query->paginate($size)->withQueryString(); - $stats = DB::table('auto_orders') - ->selectRaw('status, count(*) as cnt') - ->groupBy('status') - ->pluck('cnt', 'status'); + $orders = $rawOrders->through(function ($o) { + $o->purposeOne = (object)['uz' => $o->purpose_uz, 'ru' => $o->purpose_ru, 'cr' => $o->purpose_cr]; + $o->concernOne = (object)['uz' => $o->concern_uz, 'ru' => $o->concern_ru, 'cr' => $o->concern_cr]; + return $o; + }); - $purposeCases = DB::table('auto_orders')->distinct()->pluck('purpose'); + $stats = DB::table('auto_orders')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status'); + $purposeCases = DB::table('purposes')->get(); $concerns = DB::table('concerns')->get(); return view('auto.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases', 'concerns')); @@ -46,7 +69,7 @@ class AutoController extends Controller $concerns = DB::table('concerns')->get(); $purposes = DB::table('purposes')->get(); $regions = DB::table('regions')->get(); - $appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); return view('auto.create', compact('concerns', 'purposes', 'regions', 'appraisers')); } @@ -71,9 +94,25 @@ class AutoController extends Controller public function show($order) { - $order = DB::table('auto_orders')->selectRaw('*, ordered_customer as customer')->find($order); + $order = DB::table('auto_orders as o') + ->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as "ownerName"') + ->addSelect([ + 'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'), + 'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'), + 'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'), + 'concern_uz' => DB::table('concerns')->select('uz')->whereColumn('id', 'o.car_category'), + 'concern_ru' => DB::table('concerns')->select('ru')->whereColumn('id', 'o.car_category'), + 'concern_cr' => DB::table('concerns')->select('cr')->whereColumn('id', 'o.car_category'), + ]) + ->where('o.id', $order)->first(); + + if ($order) { + $order->purposeOne = (object)['uz' => $order->purpose_uz, 'ru' => $order->purpose_ru, 'cr' => $order->purpose_cr]; + $order->concernOne = (object)['uz' => $order->concern_uz, 'ru' => $order->concern_ru, 'cr' => $order->concern_cr]; + } + $members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get(); - $appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); $isAppraisers = $members->where('user_id', auth()->id())->count() > 0; $files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get(); return view('auto.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files')); @@ -90,7 +129,7 @@ class AutoController extends Controller { $order = DB::table('auto_orders')->find($order); $members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'auto_')->get(); - $appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); return view('auto.show-team', compact('order', 'members', 'appraisers')); } diff --git a/app/Http/Controllers/ConcernController.php b/app/Http/Controllers/ConcernController.php index 89ad311..a737d40 100644 --- a/app/Http/Controllers/ConcernController.php +++ b/app/Http/Controllers/ConcernController.php @@ -18,7 +18,7 @@ class ConcernController extends Controller public function store(Request $request) { - DB::table('concerns')->insert(['name' => $request->name, 'created_at' => now(), 'updated_at' => now()]); + DB::table('concerns')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'created_at' => now(), 'updated_at' => now()]); return redirect()->route('concerns.index'); } @@ -36,7 +36,7 @@ class ConcernController extends Controller public function update(Request $request, $id) { - DB::table('concerns')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]); + DB::table('concerns')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]); return redirect()->route('concerns.index'); } diff --git a/app/Http/Controllers/DebitController.php b/app/Http/Controllers/DebitController.php index 08058b5..7d829bf 100644 --- a/app/Http/Controllers/DebitController.php +++ b/app/Http/Controllers/DebitController.php @@ -12,12 +12,31 @@ class DebitController extends Controller $filters = $request->only(['search', 'status', 'appraiser']); $size = $request->get('size', 20); - $query = DB::table('debits')->orderByDesc('id'); - if (!empty($filters['appraiser'])) $query->where('appraiser_id', $filters['appraiser']); - if (!empty($filters['status'])) $query->where('status', $filters['status']); + $query = DB::table('debits as d') + ->leftJoin('users as u', 'u.id', '=', 'd.appraiser_id') + ->select('d.*') + ->selectRaw('u.name as appraiser_name, u.id as appraiser_user_id') + ->orderByDesc('d.id'); - $debits = $query->paginate($size)->withQueryString(); - $appraisers = DB::table('users')->where('role', 'appraiser')->get(); + if (!empty($filters['appraiser'])) $query->where('d.appraiser_id', $filters['appraiser']); + if (!empty($filters['status'])) $query->where('d.status', $filters['status']); + + $rawDebits = $query->paginate($size)->withQueryString(); + + $debits = $rawDebits->through(function ($d) { + $d->appraiser = (object)['id' => $d->appraiser_user_id, 'name' => $d->appraiser_name]; + // get order number + if ($d->order_id && $d->order_type) { + $table = $d->order_type === 'auto_' ? 'auto_orders' : 'estate_orders'; + $ord = DB::table($table)->select('id', 'number')->find($d->order_id); + $d->order = $ord; + } else { + $d->order = null; + } + return $d; + }); + + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get(); $debit = null; $appraiser = null; @@ -26,7 +45,7 @@ class DebitController extends Controller public function create() { - $appraisers = DB::table('users')->where('role', 'appraiser')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get(); return view('debit.create', compact('appraisers')); } @@ -44,7 +63,7 @@ class DebitController extends Controller public function edit($id) { $debit = DB::table('debits')->find($id); - $appraisers = DB::table('users')->where('role', 'appraiser')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get(); return view('debit.edit', compact('debit', 'appraisers')); } diff --git a/app/Http/Controllers/DillerController.php b/app/Http/Controllers/DillerController.php index 53cac0d..bd31980 100644 --- a/app/Http/Controllers/DillerController.php +++ b/app/Http/Controllers/DillerController.php @@ -10,7 +10,7 @@ class DillerController extends Controller public function __invoke(Request $request) { $size = $request->get('size', 20); - $dillers = DB::table('users')->where('role', 'diller')->paginate($size); + $dillers = DB::table('users')->whereRaw('LOWER(role) = ?', ['diller'])->paginate($size); $user = auth()->user(); return view('diller.index', compact('dillers', 'user', 'size')); } diff --git a/app/Http/Controllers/DistrictController.php b/app/Http/Controllers/DistrictController.php index 8f3f2a2..243677f 100644 --- a/app/Http/Controllers/DistrictController.php +++ b/app/Http/Controllers/DistrictController.php @@ -18,7 +18,7 @@ class DistrictController extends Controller public function store(Request $request) { - DB::table('districts')->insert(['name' => $request->name, 'region_id' => $request->region_id, 'created_at' => now(), 'updated_at' => now()]); + DB::table('districts')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'region_id' => $request->region_id, 'created_at' => now(), 'updated_at' => now()]); return redirect()->route('districts.index'); } @@ -36,7 +36,7 @@ class DistrictController extends Controller public function update(Request $request, $id) { - DB::table('districts')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]); + DB::table('districts')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]); return redirect()->route('districts.index'); } diff --git a/app/Http/Controllers/EstateController.php b/app/Http/Controllers/EstateController.php index 7e3de0d..6eca290 100644 --- a/app/Http/Controllers/EstateController.php +++ b/app/Http/Controllers/EstateController.php @@ -9,33 +9,38 @@ class EstateController extends Controller { public function index(Request $request) { - $filters = $request->only(['search', 'period', 'status', 'appraiser', 'diller', 'purpose']); + $filters = $request->only(['search', 'period', 'status', 'appraiser', 'purpose_id']); $size = $request->get('size', 20); - $query = DB::table('estate_orders')->selectRaw('*, ordered_customer as customer')->orderByDesc('id'); + $query = DB::table('estate_orders as o') + ->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as owner') + ->addSelect([ + 'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'), + 'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'), + 'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'), + 'region_uz' => DB::table('regions')->select('uz')->whereColumn('id', 'o.region'), + 'district_uz' => DB::table('districts')->select('uz')->whereColumn('id', 'o.district'), + ]) + ->orderByDesc('o.id'); if (!empty($filters['search'])) { $s = '%' . $filters['search'] . '%'; $query->where(function ($q) use ($s) { - $q->where('number', 'like', $s) - ->orWhere('ordered_customer', 'like', $s); + $q->where('o.number', 'like', $s)->orWhere('o.ordered_customer', 'like', $s); }); } - if (!empty($filters['status'])) { - $query->where('status', $filters['status']); - } - if (!empty($filters['purpose'])) { - $query->where('purpose', $filters['purpose']); - } + if (!empty($filters['status'])) $query->where('o.status', $filters['status']); + if (!empty($filters['purpose_id'])) $query->where('o.purpose_id', $filters['purpose_id']); - $orders = $query->paginate($size)->withQueryString(); + $rawOrders = $query->paginate($size)->withQueryString(); - $stats = DB::table('estate_orders') - ->selectRaw('status, count(*) as cnt') - ->groupBy('status') - ->pluck('cnt', 'status'); + $orders = $rawOrders->through(function ($o) { + $o->purposeOne = (object)['uz' => $o->purpose_uz, 'ru' => $o->purpose_ru, 'cr' => $o->purpose_cr]; + return $o; + }); - $purposeCases = DB::table('estate_orders')->distinct()->pluck('purpose'); + $stats = DB::table('estate_orders')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status'); + $purposeCases = DB::table('purposes')->get(); return view('estate.index', compact('orders', 'stats', 'filters', 'size', 'purposeCases')); } @@ -45,7 +50,7 @@ class EstateController extends Controller $purposes = DB::table('purposes')->get(); $regions = DB::table('regions')->get(); $concerns = DB::table('concerns')->get(); - $appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); return view('estate.create', compact('purposes', 'regions', 'concerns', 'appraisers')); } @@ -70,9 +75,23 @@ class EstateController extends Controller public function show($order) { - $order = DB::table('estate_orders')->selectRaw('*, ordered_customer as customer')->find($order); + $order = DB::table('estate_orders as o') + ->selectRaw('o.*, o.ordered_customer as customer, CONCAT_WS(\' \', o.owner_last_name, o.owner_first_name, o.owner_patronymic) as owner') + ->addSelect([ + 'purpose_uz' => DB::table('purposes')->select('uz')->whereColumn('id', 'o.purpose_id'), + 'purpose_ru' => DB::table('purposes')->select('ru')->whereColumn('id', 'o.purpose_id'), + 'purpose_cr' => DB::table('purposes')->select('cr')->whereColumn('id', 'o.purpose_id'), + 'region_uz' => DB::table('regions')->select('uz')->whereColumn('id', 'o.region'), + 'district_uz' => DB::table('districts')->select('uz')->whereColumn('id', 'o.district'), + ]) + ->where('o.id', $order)->first(); + + if ($order) { + $order->purposeOne = (object)['uz' => $order->purpose_uz, 'ru' => $order->purpose_ru, 'cr' => $order->purpose_cr]; + } + $members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get(); - $appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); $isAppraisers = $members->where('user_id', auth()->id())->count() > 0; $files = DB::table('files')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get(); return view('estate.show', compact('order', 'members', 'appraisers', 'isAppraisers', 'files')); @@ -89,7 +108,7 @@ class EstateController extends Controller { $order = DB::table('estate_orders')->find($order); $members = DB::table('order_members')->where('order_id', $order->id ?? 0)->where('order_type', 'estate_')->get(); - $appraisers = DB::table('users')->where('role', 'appraiser')->where('status', 'active')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->where('status', 'active')->get(); return view('estate.show-team', compact('order', 'members', 'appraisers')); } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index d9f3a40..31aa078 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -38,11 +38,10 @@ class HomeController extends Controller $actions = DB::table('tracking_actions')->latest()->limit(20)->get(); $appraiserChart = [[], []]; - $appraisers = DB::table('users')->where('role', 'appraiser')->get(); + $appraisers = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get(); foreach ($appraisers as $appraiser) { $appraiserChart[0][] = $appraiser->name; - $count = DB::table('auto_orders')->where('appraiser_id', $appraiser->id)->count() - + DB::table('estate_orders')->where('appraiser_id', $appraiser->id)->count(); + $count = DB::table('order_members')->where('user_id', $appraiser->id)->count(); $appraiserChart[1][] = $count; } diff --git a/app/Http/Controllers/PurposeController.php b/app/Http/Controllers/PurposeController.php index 2d5bd2e..7b44ebd 100644 --- a/app/Http/Controllers/PurposeController.php +++ b/app/Http/Controllers/PurposeController.php @@ -18,7 +18,7 @@ class PurposeController extends Controller public function store(Request $request) { - DB::table('purposes')->insert(['name' => $request->name, 'type' => $request->type, 'created_at' => now(), 'updated_at' => now()]); + DB::table('purposes')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'created_at' => now(), 'updated_at' => now()]); return redirect()->route('purposes.index'); } @@ -36,7 +36,7 @@ class PurposeController extends Controller public function update(Request $request, $id) { - DB::table('purposes')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]); + DB::table('purposes')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]); return redirect()->route('purposes.index'); } diff --git a/app/Http/Controllers/RegionController.php b/app/Http/Controllers/RegionController.php index a121e9f..cf4dffe 100644 --- a/app/Http/Controllers/RegionController.php +++ b/app/Http/Controllers/RegionController.php @@ -18,7 +18,7 @@ class RegionController extends Controller public function store(Request $request) { - DB::table('regions')->insert(['name' => $request->name, 'created_at' => now(), 'updated_at' => now()]); + DB::table('regions')->insert(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'created_at' => now(), 'updated_at' => now()]); return redirect()->route('regions.index'); } @@ -36,7 +36,7 @@ class RegionController extends Controller public function update(Request $request, $id) { - DB::table('regions')->where('id', $id)->update(['name' => $request->name, 'updated_at' => now()]); + DB::table('regions')->where('id', $id)->update(['uz' => $request->uz ?? $request->name, 'ru' => $request->ru ?? $request->name, 'cr' => $request->cr ?? $request->name, 'updated_at' => now()]); return redirect()->route('regions.index'); } diff --git a/app/Http/Controllers/RoleController.php b/app/Http/Controllers/RoleController.php index b27272a..7f55768 100644 --- a/app/Http/Controllers/RoleController.php +++ b/app/Http/Controllers/RoleController.php @@ -12,7 +12,7 @@ class RoleController extends Controller $role = $request->get('role', 'user'); $size = $request->get('size', 20); - $users = DB::table('users')->where('role', $role)->paginate($size)->withQueryString(); + $users = DB::table('users')->whereRaw('LOWER(role) = LOWER(?)', [$role])->paginate($size)->withQueryString(); $roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role'); $statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status'); $user = auth()->user(); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 1f5c99e..09582c4 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -16,7 +16,7 @@ class UserController extends Controller $search = $request->get('search'); $query = DB::table('users')->orderByDesc('id'); - if ($role) $query->where('role', $role); + if ($role) $query->whereRaw('LOWER(role) = LOWER(?)', [$role]); if ($status) $query->where('status', $status); if ($search) $query->where('name', 'like', "%$search%")->orWhere('phone', 'like', "%$search%"); @@ -88,7 +88,7 @@ class UserController extends Controller public function appraisers(Request $request) { $size = $request->get('size', 20); - $users = DB::table('users')->where('role', 'appraiser')->paginate($size); + $users = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->paginate($size); $roleStats = DB::table('users')->selectRaw('role, count(*) as cnt')->groupBy('role')->pluck('cnt', 'role'); $statusStats = DB::table('users')->selectRaw('status, count(*) as cnt')->groupBy('status')->pluck('cnt', 'status'); $user = auth()->user(); @@ -97,7 +97,7 @@ class UserController extends Controller public function appraisersBonus() { - $users = DB::table('users')->where('role', 'appraiser')->get(); + $users = DB::table('users')->whereRaw('LOWER(role) = ?', ['appraiser'])->get(); return view('user.appraisers-bonus', compact('users')); }