I hasRole trait

This commit is contained in:
a6a2f5842 2025-06-24 09:38:55 +02:00
parent 4d1f57c4a1
commit 5f8c190120
1 changed files with 8 additions and 2 deletions

View File

@ -55,7 +55,10 @@ trait HasRoles
public function assignRole(string|Role $role) public function assignRole(string|Role $role)
{ {
if (is_string($role) && !is_numeric($role)) { if (is_string($role) && !is_numeric($role)) {
$role = config('roles.models.role', \Blax\Roles\Models\Role::class)::firstOrCreate(['slug' => $role]); $role = config('roles.models.role', \Blax\Roles\Models\Role::class)::firstOrCreate([
'name' => $role,
'slug' => str()->slug($role)
]);
} elseif (is_numeric($role)) { } elseif (is_numeric($role)) {
$role = config('roles.models.role', \Blax\Roles\Models\Role::class)::find($role); $role = config('roles.models.role', \Blax\Roles\Models\Role::class)::find($role);
} }
@ -103,7 +106,10 @@ trait HasRoles
$roleIds = []; $roleIds = [];
foreach ($roles as $role) { foreach ($roles as $role) {
if (is_string($role) && !is_numeric($role)) { if (is_string($role) && !is_numeric($role)) {
$roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::firstOrCreate(['slug' => $role]); $roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::firstOrCreate([
'name' => $role,
'slug' => str()->slug($role)
]);
} elseif (is_numeric($role)) { } elseif (is_numeric($role)) {
$roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::find($role); $roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::find($role);
} elseif ($role instanceof Role) { } elseif ($role instanceof Role) {