user()->id; $limit = (int) $request->query('limit', 0); $query = Account::where('role', 'patient') ->whereHas('submission', fn($q) => $q->where('doctor_id', $doctorId)) ->withCount(['submission as submission_count' => fn($q) => $q->where('doctor_id', $doctorId)]) ->orderBy('name'); if ($limit > 0) { $patients = $query->limit($limit)->get(['id','name','phone']); } else { $patients = $query->get(['id','name','phone']); } return PatientListResource::collection($patients); } }