public function testArray()
 {
     $photo = new Photo();
     $photo->setNom('wohoo');
     $serialized = $this->type->convertToDatabaseValue([$photo], $this->plateform);
     $unserialized = $this->type->convertToPHPValue($serialized, $this->plateform);
     $this->assertInstanceOf(Photo::class, $unserialized[0]);
     /** @var Photo $var */
     $var = $unserialized[0];
     $this->assertEquals('wohoo', $var->getNom());
 }
 /**
  * @param DateTimeOfDay $value
  * @param AbstractPlatform $platform
  *
  * @return string
  */
 public function convertToDatabaseValue($value, AbstractPlatform $platform)
 {
     if ($value instanceof DateTimeOfDay) {
         return $value->toDateTime()->format($platform->getDateTimeFormatString());
     }
     return parent::convertToDatabaseValue($value, $platform);
 }
 /**
  * (non-PHPdoc)
  * @see \Doctrine\DBAL\Types\Type::convertToDatabaseValue()
  */
 public function convertToDatabaseValue($value, AbstractPlatform $platform)
 {
     if ($value === null) {
         return null;
     } elseif ($value instanceof \DateTime) {
         return $value->format('Y-m-d H:i:s.uO');
     } elseif (is_string($value)) {
         try {
             return parent::convertToDatabaseValue($value, $platform);
         } catch (\Exception $e) {
             try {
                 $dt = new \DateTime($value);
                 return $dt->format('Y-m-d H:i:s.uO');
             } catch (\Exception $e) {
                 throw new \Exception('Date "' . $value . '" is not a valid date');
             }
         }
     }
     throw new \Exception('Date "' . $value . '" is not a valid date');
 }
 /**
  * @dataProvider phpValueProvider
  */
 public function testConversionToSQL($value, $expected)
 {
     $sql = $this->type->convertToDatabaseValue($value, $this->platform);
     $this->assertEquals($expected, $sql);
 }
 public function testNullConversionForDatabaseValue()
 {
     $this->assertNull($this->type->convertToDatabaseValue(null, $this->platform));
 }
 private function value(EntityManager $em, Type $type, $value)
 {
     $platform = $em->getConnection()->getDatabasePlatform();
     switch ($type->getName()) {
         case Type::BOOLEAN:
             return $type->convertToPHPValue($value, $platform);
             // json supports boolean values
         // json supports boolean values
         default:
             return $type->convertToDatabaseValue($value, $platform);
     }
 }