diff --git a/lib/Doctrine/DBAL/Types/IntegerType.php b/lib/Doctrine/DBAL/Types/IntegerType.php index abd946c51..c790ab130 100644 --- a/lib/Doctrine/DBAL/Types/IntegerType.php +++ b/lib/Doctrine/DBAL/Types/IntegerType.php @@ -25,7 +25,7 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL INT to a PHP integer. - * + * * @author Roman Borschel * @since 2.0 */ @@ -43,9 +43,9 @@ class IntegerType extends Type public function convertToPHPValue($value, AbstractPlatform $platform) { - return (int) $value; + return (null === $value) ? null : (int) $value; } - + public function getBindingType() { return \PDO::PARAM_INT; diff --git a/tests/Doctrine/Tests/DBAL/Types/IntegerTest.php b/tests/Doctrine/Tests/DBAL/Types/IntegerTest.php index 6d0efc5ed..f03e400ba 100644 --- a/tests/Doctrine/Tests/DBAL/Types/IntegerTest.php +++ b/tests/Doctrine/Tests/DBAL/Types/IntegerTest.php @@ -6,7 +6,7 @@ use Doctrine\DBAL\Types\Type; use Doctrine\Tests\DBAL\Mocks; require_once __DIR__ . '/../../TestInit.php'; - + class IntegerTest extends \Doctrine\Tests\DbalTestCase { protected @@ -19,10 +19,14 @@ class IntegerTest extends \Doctrine\Tests\DbalTestCase $this->_type = Type::getType('integer'); } - public function testDecimalConvertsToPHPValue() + public function testIntegerConvertsToPHPValue() { $this->assertTrue( is_integer($this->_type->convertToPHPValue('1', $this->_platform)) ); + + $this->assertTrue( + is_null($this->_type->convertToPHPValue(null, $this->_platform)) + ); } } \ No newline at end of file