Skip to content

Commit

Permalink
Merge pull request #3 from mgldev/master
Browse files Browse the repository at this point in the history
Adds support for recognising null values on DateTime fields when conv…
  • Loading branch information
phpboyscout committed Nov 4, 2015
2 parents 60ba4c6 + 2c0cc6c commit 1881705
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/ZucchiDoctrine/Datatype/DateTimeType.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* Type that maps an SQL DATETIME/TIMESTAMP to an Extended PHP DateTime object.
*
* @author Matt Cockayne <matt@zucchi.co.uk>
* @package ZucchiDoctrine
* @package ZucchiDoctrine
* @subpackage Datatype
*/
class DateTimeType extends Type
Expand All @@ -33,9 +33,13 @@ public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $pla

public function convertToDatabaseValue($value, AbstractPlatform $platform)
{
return ($value instanceof \DateTime)
? $value->format($platform->getDateTimeFormatString())
: date($platform->getDateTimeFormatString(), strtotime($value));
if (is_null($value)) {
return $value;
} else if ($value instanceof \DateTime) {
return $value->format($platform->getDateTimeFormatString());
} else {
return date($platform->getDateTimeFormatString(), strtotime($value));
}
}

public function convertToPHPValue($value, AbstractPlatform $platform)
Expand All @@ -45,7 +49,7 @@ public function convertToPHPValue($value, AbstractPlatform $platform)
}

$val = DateTime::createFromFormat($platform->getDateTimeFormatString(), $value);
if ( ! $val) {
if (!$val) {
throw ConversionException::conversionFailedFormat($value, $this->getName(), $platform->getDateTimeFormatString());
}
return $val;
Expand Down

0 comments on commit 1881705

Please sign in to comment.