diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/GH6699Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/GH6699Test.php new file mode 100644 index 000000000..c1e32fdef --- /dev/null +++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/GH6699Test.php @@ -0,0 +1,56 @@ +useModelSet('cms'); + + parent::setUp(); + } + + public function testMixedParametersWithZeroNumber() : void + { + $query = $this->_em->createQueryBuilder() + ->select('u') + ->from(CmsUser::class, 'u') + ->andWhere('u.username = :username') + ->andWhere('u.id = ?0') + ->getQuery(); + + $query->setParameter('username', 'bar'); + $query->setParameter(0, 0); + + $query->execute(); + + self::assertCount(2, $query->getParameters()); + self::assertSame(0, $query->getParameter(0)->getValue()); + self::assertSame('bar', $query->getParameter('username')->getValue()); + } + + public function testMixedParametersWithZeroNumberOnQueryBuilder() : void + { + $query = $this->_em->createQueryBuilder() + ->select('u') + ->from(CmsUser::class, 'u') + ->andWhere('u.username = :username') + ->andWhere('u.id = ?0') + ->setParameter('username', 'bar') + ->setParameter(0, 0) + ->getQuery(); + + $query->execute(); + + self::assertCount(2, $query->getParameters()); + self::assertSame(0, $query->getParameter(0)->getValue()); + self::assertSame('bar', $query->getParameter('username')->getValue()); + } +}