/** * Saves field settings. */ protected function saveFieldSettings(array $settings) { $persisted_settings = $this->field->getSettings(); // Override allowed values instead of merging. foreach (['first', 'second'] as $subfield) { if (isset($persisted_settings[$subfield]['allowed_values'], $settings[$subfield]['allowed_values'])) { unset($persisted_settings[$subfield]['allowed_values']); } } $this->field->setSettings(NestedArray::mergeDeep($persisted_settings, $settings)); $this->field->save(); }