UserActions::tryFrom($role), $roles )); } public function set($model, string $key, $value, array $attributes) { if ($value === null) { return null; } // Ensure only backing values get saved $roles = array_map( fn ($role) => $role instanceof UserActions ? $role->value : UserActions::from($role)->value, $value ); return json_encode($roles); } }