eZ\Publish\Core\Persistence\Legacy\Content\FieldHandler::updateCopiedField PHP Method

updateCopiedField() protected method

External data is being copied here as some FieldTypes require original field external data. By default copying falls back to storing, it is upon external storage implementation to override the behaviour as needed.
protected updateCopiedField ( eZ\Publish\SPI\Persistence\Content\Field $field, eZ\Publish\SPI\Persistence\Content\Field $updateField, eZ\Publish\SPI\Persistence\Content\Field $originalField, eZ\Publish\SPI\Persistence\Content $content )
$field eZ\Publish\SPI\Persistence\Content\Field
$updateField eZ\Publish\SPI\Persistence\Content\Field
$originalField eZ\Publish\SPI\Persistence\Content\Field
$content eZ\Publish\SPI\Persistence\Content
    protected function updateCopiedField(Field $field, Field $updateField, Field $originalField, Content $content)
    {
        $field->versionNo = $content->versionInfo->versionNo;
        $field->value = clone $updateField->value;
        $this->contentGateway->updateField($field, $this->mapper->convertToStorageValue($field));
        // If the storage handler returns true, it means that $field value has been modified
        // So we need to update it in order to store those modifications
        // Field converter is called once again via the Mapper
        if ($this->storageHandler->copyFieldData($content->versionInfo, $field, $originalField) === true) {
            $this->contentGateway->updateField($field, $this->mapper->convertToStorageValue($field));
        }
    }