ownerRef($request); $organizationId = (int) $request->query('organization_id'); if ($request->filled('q')) { return response()->json( $search->search($owner, $organizationId, $request->string('q')->toString()) ); } $visitors = Visitor::owned($owner) ->when($organizationId, fn ($q) => $q->where('organization_id', $organizationId)) ->orderBy('full_name') ->paginate(min((int) $request->query('per_page', 25), 100)); return response()->json($visitors); } public function show(Request $request, Visitor $visitor): JsonResponse { $this->authorizeOwner($request, $visitor); return response()->json($visitor->load(['visits' => fn ($q) => $q->latest()->limit(10)])); } }