getCreateFormAction()->formId('form'), ]; } protected function getFormActions(): array { return []; } protected function mutateFormDataBeforeCreate(array $data): array { $this->permissions = collect($data) ->filter(function ($permission, $key) { return !in_array($key, ['name', 'guard_name']); }) ->values() ->flatten() ->unique(); return Arr::only($data, ['name', 'guard_name']); } protected function afterCreate(): void { $permissionModels = collect(); $this->permissions->each(function ($permission) use ($permissionModels) { $permissionModels->push(Permission::firstOrCreate([ 'name' => $permission, 'guard_name' => $this->data['guard_name'], ])); }); $this->record->syncPermissions($permissionModels); } }