1616
1717trait HasPermissions
1818{
19+ /** @var string */
1920 private $ permissionClass ;
2021
2122 public static function bootHasPermissions ()
@@ -61,7 +62,7 @@ public function permissions(): BelongsToMany
6162 * Scope the model query to certain permissions only.
6263 *
6364 * @param \Illuminate\Database\Eloquent\Builder $query
64- * @param string|array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
65+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
6566 *
6667 * @return \Illuminate\Database\Eloquent\Builder
6768 */
@@ -86,9 +87,10 @@ public function scopePermission(Builder $query, $permissions): Builder
8687 }
8788
8889 /**
89- * @param string|array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
90+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
9091 *
9192 * @return array
93+ * @throws \Spatie\Permission\Exceptions\PermissionDoesNotExist
9294 */
9395 protected function convertToPermissionModels ($ permissions ): array
9496 {
@@ -102,8 +104,9 @@ protected function convertToPermissionModels($permissions): array
102104 if ($ permission instanceof Permission) {
103105 return $ permission ;
104106 }
107+ $ method = is_string ($ permission ) ? 'findByName ' : 'findById ' ;
105108
106- return $ this ->getPermissionClass ()->findByName ($ permission , $ this ->getDefaultGuardName ());
109+ return $ this ->getPermissionClass ()->{ $ method } ($ permission , $ this ->getDefaultGuardName ());
107110 }, $ permissions );
108111 }
109112
@@ -184,15 +187,6 @@ protected function hasWildcardPermission($permission, $guardName = null): bool
184187 return false ;
185188 }
186189
187- /**
188- * @deprecated since 2.35.0
189- * @alias of hasPermissionTo()
190- */
191- public function hasUncachedPermissionTo ($ permission , $ guardName = null ): bool
192- {
193- return $ this ->hasPermissionTo ($ permission , $ guardName );
194- }
195-
196190 /**
197191 * An alias to hasPermissionTo(), but avoids throwing an exception.
198192 *
@@ -213,10 +207,9 @@ public function checkPermissionTo($permission, $guardName = null): bool
213207 /**
214208 * Determine if the model has any of the given permissions.
215209 *
216- * @param array ...$permissions
210+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection ...$permissions
217211 *
218212 * @return bool
219- * @throws \Exception
220213 */
221214 public function hasAnyPermission (...$ permissions ): bool
222215 {
@@ -234,7 +227,7 @@ public function hasAnyPermission(...$permissions): bool
234227 /**
235228 * Determine if the model has all of the given permissions.
236229 *
237- * @param array ...$permissions
230+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection ...$permissions
238231 *
239232 * @return bool
240233 * @throws \Exception
@@ -335,7 +328,7 @@ protected function getPermissionsRelation()
335328 /**
336329 * Grant the given permission(s) to a role.
337330 *
338- * @param string|array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
331+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
339332 *
340333 * @return $this
341334 */
@@ -392,7 +385,7 @@ function ($object) use ($permissions, $model) {
392385 /**
393386 * Remove all current permissions and set the given ones.
394387 *
395- * @param string|array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
388+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
396389 *
397390 * @return $this
398391 */
@@ -429,7 +422,7 @@ public function getPermissionNames(): Collection
429422 }
430423
431424 /**
432- * @param string|array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
425+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection $permissions
433426 *
434427 * @return \Spatie\Permission\Contracts\Permission|\Spatie\Permission\Contracts\Permission[]|\Illuminate\Support\Collection
435428 */
@@ -487,7 +480,7 @@ public function forgetCachedPermissions()
487480
488481 /**
489482 * Check if the model has All of the requested Direct permissions.
490- * @param array ...$permissions
483+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection ...$permissions
491484 * @return bool
492485 */
493486 public function hasAllDirectPermissions (...$ permissions ): bool
@@ -505,7 +498,7 @@ public function hasAllDirectPermissions(...$permissions): bool
505498
506499 /**
507500 * Check if the model has Any of the requested Direct permissions.
508- * @param array ...$permissions
501+ * @param string|int| array|\Spatie\Permission\Contracts\Permission|\Illuminate\Support\Collection ...$permissions
509502 * @return bool
510503 */
511504 public function hasAnyDirectPermission (...$ permissions ): bool
0 commit comments