eZ\Publish\Core\Persistence\Legacy\Content\Mapper::convertToStorageValue PHP Метод

convertToStorageValue() публичный Метод

Converts value of $field to storage value.
public convertToStorageValue ( eZ\Publish\SPI\Persistence\Content\Field $field ) : StorageFieldValue
$field eZ\Publish\SPI\Persistence\Content\Field
Результат StorageFieldValue
    public function convertToStorageValue(Field $field)
    {
        $converter = $this->converterRegistry->getConverter($field->type);
        $storageValue = new StorageFieldValue();
        $converter->toStorageValue($field->value, $storageValue);
        return $storageValue;
    }

Usage Example

 /**
  * Updates a language copy of a non-translatable field.
  *
  * 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.
  *
  * @param \eZ\Publish\SPI\Persistence\Content\Field $field
  * @param \eZ\Publish\SPI\Persistence\Content\Field $updateField
  * @param \eZ\Publish\SPI\Persistence\Content\Field $originalField
  * @param \eZ\Publish\SPI\Persistence\Content $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));
     }
 }
All Usage Examples Of eZ\Publish\Core\Persistence\Legacy\Content\Mapper::convertToStorageValue