public convertToDatabaseValue ( $value, Doctrine\DBAL\Platforms\AbstractPlatform $platform ) | ||
$platform | Doctrine\DBAL\Platforms\AbstractPlatform |
public function convertToDatabaseValue($value, \Doctrine\DBAL\Platforms\AbstractPlatform $platform)
{
if ($value === null) {
return null;
}
if (!is_array($value)) {
throw new ConversionException('Value must be an array');
}
foreach ($value as $val) {
if (!preg_match($this->acceptedPattern, $val)) {
throw new ConversionException("'{$val}' does not match pattern '{$this->acceptedPattern}'");
}
}
array_walk($value, function (&$walker) {
$walker = '[' . $walker . ']';
});
return implode(';', $value);
}
/** * @test * @dataProvider provideAcceptableValues */ public function acceptableCharactersShouldPassDatabaseConversionAndReturnExpectedSerialization($expectedSerialization, $acceptableValue) { $serialization = $this->type->convertToDatabaseValue($acceptableValue, $this->platform); $this->assertSame($expectedSerialization, $serialization); }