permissions->pluck('name')->toArray(); DB::transaction(function () use ($role, $dto) { $role->syncPermissions($dto->permissions); }); $role->load('permissions'); $newPermissions = $role->permissions->pluck('name')->toArray(); if ($newPermissions !== $oldPermissions) { /** @var Auditable $role */ // Tell Owen-It exactly what to log $role->auditEvent = 'permissions_synced'; $role->isCustomEvent = true; $role->auditCustomOld = ['permissions' => implode(', ', $oldPermissions)]; $role->auditCustomNew = ['permissions' => implode(', ', $newPermissions)]; event(new AuditCustom($role)); } return true; } }