try { $roleName = 'super_admin'; $guardName = 'web'; $role = Role::where('name', $roleName)->where('guard_name', $guardName)->first(); if (!$role) { $role = Role::create([ 'id' => (string) Str::uuid(), 'name' => $roleName, 'guard_name' => $guardName, ]); echo "Created role: " . $role->name . PHP_EOL; } else { echo "Role already exists: " . $role->name . " with ID " . $role->id . PHP_EOL; } $found = Role::findByName($roleName, $guardName); echo "Successfully found via findByName: " . $found->name . PHP_EOL; } catch (\Exception $e) { echo "Error: " . $e->getMessage() . PHP_EOL; }