eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\DateAndTimeConverter::toStorageFieldDefinition PHP Method

toStorageFieldDefinition() public method

Converts field definition data in $fieldDef into $storageFieldDef.
public toStorageFieldDefinition ( eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition $fieldDef, StorageFieldDefinition $storageDef )
$fieldDef eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition
$storageDef eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldDefinition
    public function toStorageFieldDefinition(FieldDefinition $fieldDef, StorageFieldDefinition $storageDef)
    {
        $storageDef->dataInt2 = $fieldDef->fieldTypeConstraints->fieldSettings['useSeconds'] ? 1 : 0;
        $storageDef->dataInt1 = $fieldDef->fieldTypeConstraints->fieldSettings['defaultType'];
        if ($fieldDef->fieldTypeConstraints->fieldSettings['defaultType'] === DateAndTimeType::DEFAULT_CURRENT_DATE_ADJUSTED) {
            $storageDef->dataText5 = $this->generateDateIntervalXML($fieldDef->fieldTypeConstraints->fieldSettings['dateInterval']);
        }
    }

Usage Example

 /**
  * @group fieldType
  * @group dateTime
  * @covers \eZ\Publish\Core\Persistence\Legacy\Content\FieldValue\Converter\DateAndTimeConverter::toStorageFieldDefinition
  */
 public function testToStorageFieldDefinitionCurrentDate()
 {
     $storageFieldDef = new StorageFieldDefinition();
     $fieldTypeConstraints = new FieldTypeConstraints();
     $fieldTypeConstraints->fieldSettings = new FieldSettings(array('useSeconds' => true, 'defaultType' => DateAndTimeType::DEFAULT_CURRENT_DATE, 'dateInterval' => null));
     $fieldDef = new PersistenceFieldDefinition(array('fieldTypeConstraints' => $fieldTypeConstraints));
     $this->converter->toStorageFieldDefinition($fieldDef, $storageFieldDef);
     self::assertSame(DateAndTimeType::DEFAULT_CURRENT_DATE, $storageFieldDef->dataInt1);
     self::assertSame(1, $storageFieldDef->dataInt2);
     self::assertNull($storageFieldDef->dataText5);
 }