belongsToCompetition($competitionId); } public static function assertCompetition(Request $request, int $competitionId): void { if (! self::canAccessCompetition($request->user(), $competitionId)) { abort(403, '无权访问该赛事'); } } public static function actor(Request $request): AdminUser|CompetitionAdmin { $user = $request->user(); if ($user instanceof AdminUser || $user instanceof CompetitionAdmin) { return $user; } abort(403, '无权访问'); } }