query('username', '')); $validator = validator( ['username' => $candidate], ['username' => UsernameRequest::formatRules()] ); if ($validator->fails()) { return response()->json([ 'available' => false, 'normalized' => $candidate, 'errors' => $validator->errors()->toArray(), ], 422); } $ignoreUserId = $request->user()?->id; $exists = User::query() ->whereRaw('LOWER(username) = ?', [$candidate]) ->when($ignoreUserId !== null, fn ($q) => $q->where('id', '!=', (int) $ignoreUserId)) ->exists(); return response()->json([ 'available' => ! $exists, 'normalized' => $candidate, ]); } }