FactoryGirl\Provider\Doctrine\DBAL\Types\StatusArrayType::convertToDatabaseValue PHP Method

convertToDatabaseValue() public method

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);
    }

Usage Example

 /**
  * @test
  * @dataProvider provideAcceptableValues
  */
 public function acceptableCharactersShouldPassDatabaseConversionAndReturnExpectedSerialization($expectedSerialization, $acceptableValue)
 {
     $serialization = $this->type->convertToDatabaseValue($acceptableValue, $this->platform);
     $this->assertSame($expectedSerialization, $serialization);
 }