diff --git a/src/Illuminate/Auth/Access/Gate.php b/src/Illuminate/Auth/Access/Gate.php index 2341efd8109d..eea0617a2a73 100644 --- a/src/Illuminate/Auth/Access/Gate.php +++ b/src/Illuminate/Auth/Access/Gate.php @@ -117,7 +117,7 @@ public function __construct( /** * Determine if a given ability has been defined. * - * @param string|array $ability + * @param \UnitEnum|array|string $ability * @return bool */ public function has($ability) @@ -125,7 +125,7 @@ public function has($ability) $abilities = is_array($ability) ? $ability : func_get_args(); foreach ($abilities as $ability) { - if (! isset($this->abilities[$ability])) { + if (! isset($this->abilities[enum_value($ability)])) { return false; } } diff --git a/src/Illuminate/Contracts/Auth/Access/Gate.php b/src/Illuminate/Contracts/Auth/Access/Gate.php index 29ab2377d9c9..dd43d69a50c6 100644 --- a/src/Illuminate/Contracts/Auth/Access/Gate.php +++ b/src/Illuminate/Contracts/Auth/Access/Gate.php @@ -7,7 +7,7 @@ interface Gate /** * Determine if a given ability has been defined. * - * @param string $ability + * @param \UnitEnum|string $ability * @return bool */ public function has($ability); diff --git a/src/Illuminate/Support/Facades/Gate.php b/src/Illuminate/Support/Facades/Gate.php index e5ae37c09e4c..37cb11be740a 100644 --- a/src/Illuminate/Support/Facades/Gate.php +++ b/src/Illuminate/Support/Facades/Gate.php @@ -5,7 +5,7 @@ use Illuminate\Contracts\Auth\Access\Gate as GateContract; /** - * @method static bool has(string|array $ability) + * @method static bool has(\UnitEnum|string|array $ability) * @method static \Illuminate\Auth\Access\Response allowIf(\Illuminate\Auth\Access\Response|\Closure|bool $condition, string|null $message = null, string|null $code = null) * @method static \Illuminate\Auth\Access\Response denyIf(\Illuminate\Auth\Access\Response|\Closure|bool $condition, string|null $message = null, string|null $code = null) * @method static \Illuminate\Auth\Access\Gate define(\UnitEnum|string $ability, callable|array|string $callback)