From 4d1f57c4a13d37aabfd13c191d162bb163a8d361 Mon Sep 17 00:00:00 2001 From: a6a2f5842 Date: Tue, 24 Jun 2025 09:30:56 +0200 Subject: [PATCH] I hasRole trait --- src/Traits/HasRoles.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Traits/HasRoles.php b/src/Traits/HasRoles.php index 2db99d3..b6167df 100644 --- a/src/Traits/HasRoles.php +++ b/src/Traits/HasRoles.php @@ -55,7 +55,7 @@ trait HasRoles public function assignRole(string|Role $role) { if (is_string($role) && !is_numeric($role)) { - $role = config('roles.models.role', \Blax\Roles\Models\Role::class)::where('slug', $role)->first(); + $role = config('roles.models.role', \Blax\Roles\Models\Role::class)::firstOrCreate(['slug' => $role]); } elseif (is_numeric($role)) { $role = config('roles.models.role', \Blax\Roles\Models\Role::class)::find($role); } @@ -103,7 +103,7 @@ trait HasRoles $roleIds = []; foreach ($roles as $role) { if (is_string($role) && !is_numeric($role)) { - $roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::where('slug', $role)->first(); + $roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::firstOrCreate(['slug' => $role]); } elseif (is_numeric($role)) { $roleModel = config('roles.models.role', \Blax\Roles\Models\Role::class)::find($role); } elseif ($role instanceof Role) {