From 8ac66bb608c1684a2dac7330dec660f12d9fc6dd Mon Sep 17 00:00:00 2001 From: Jan Langer Date: Sun, 15 Mar 2015 13:55:44 +0100 Subject: [PATCH] Allow DateTimeInterface as parameter value --- lib/Doctrine/ORM/Query/ParameterTypeInferer.php | 2 +- tests/Doctrine/Tests/ORM/Query/ParameterTypeInfererTest.php | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Query/ParameterTypeInferer.php b/lib/Doctrine/ORM/Query/ParameterTypeInferer.php index 462f971ba..a12a559a7 100644 --- a/lib/Doctrine/ORM/Query/ParameterTypeInferer.php +++ b/lib/Doctrine/ORM/Query/ParameterTypeInferer.php @@ -53,7 +53,7 @@ class ParameterTypeInferer return Type::BOOLEAN; } - if ($value instanceof \DateTime) { + if ($value instanceof \DateTime || $value instanceof \DateTimeInterface) { return Type::DATETIME; } diff --git a/tests/Doctrine/Tests/ORM/Query/ParameterTypeInfererTest.php b/tests/Doctrine/Tests/ORM/Query/ParameterTypeInfererTest.php index 8b4635d99..64b45c1c8 100644 --- a/tests/Doctrine/Tests/ORM/Query/ParameterTypeInfererTest.php +++ b/tests/Doctrine/Tests/ORM/Query/ParameterTypeInfererTest.php @@ -28,7 +28,7 @@ class ParameterTypeInfererTest extends \Doctrine\Tests\OrmTestCase public function providerParameterTypeInferer() { - return array( + $data = array( array(1, Type::INTEGER), array("bar", PDO::PARAM_STR), array("1", PDO::PARAM_STR), @@ -39,6 +39,10 @@ class ParameterTypeInfererTest extends \Doctrine\Tests\OrmTestCase array(array(), Connection::PARAM_STR_ARRAY), array(true, Type::BOOLEAN), ); + if(PHP_VERSION_ID >= 50500) { + $data[] = array(new \DateTimeImmutable(), Type::DATETIME); + } + return $data; } /**