query('search', '')); $category = $request->integer('category'); $tickets = LegacyTicket::query() ->when($search !== '', fn ($query) => $query->where(function ($q) use ($search): void { $q->where('reference', 'like', "%{$search}%") ->orWhere('subject', 'like', "%{$search}%") ->orWhere('requester_name', 'like', "%{$search}%"); })) ->when($category > 0, fn ($query) => $query->where('legacy_category_id', $category)) ->orderByDesc('legacy_created_at') ->orderByDesc('legacy_id') ->paginate(30) ->withQueryString(); return view('helpdesk::legacy.tickets', [ 'tickets' => $tickets, 'categories' => LegacyCategory::query()->orderBy('name')->get(), 'search' => $search, 'selectedCategory' => $category, ]); } public function show(LegacyTicket $ticket): View { $ticket->load('comments'); return view('helpdesk::legacy.show', compact('ticket')); } public function categories(): View { return view('helpdesk::legacy.categories', [ 'categories' => LegacyCategory::query()->orderBy('name')->paginate(50), ]); } }