/** * {@inheritdoc} */ public function updateState($state) { // remove default if preserveDefault==false, we dont want it in future updates. if (false === $this->preserveDefault) { $field = $this->field->deepClone(); $field->default = NOT_PROVIDED; } else { $field = $this->field; } $state->modelStates[$this->modelName]->fields[$this->name] = $field; }
/** * {@inheritdoc} */ public function updateState($state) { if (false === $this->preserveDefault) { $alteredField = $this->field->deepClone(); $alteredField->default = NOT_PROVIDED; } else { $alteredField = $this->field; } $fields = $state->modelStates[$this->modelName]->fields; $newFields = []; foreach ($fields as $name => $oldField) { if ($name == $this->name) { $newFields[$name] = $alteredField; } else { $newFields[$name] = $oldField; } } $state->modelStates[$this->modelName]->fields = $newFields; }