From 1f3ea0f8af641782ab1a1e58f4c9ffc53e0f36c0 Mon Sep 17 00:00:00 2001 From: "Nathanael d. Noblet" Date: Thu, 27 Aug 2015 13:00:40 -0600 Subject: [PATCH] Use ObjectManager interface instead of EntityManager If you use the EntityManager Decorator pattern that doctrine provides then simply specifying a query_builder closure where your decorated em is used fails as it isn't an instance of Doctrine\ORM\EntityManager. Testing against the ObjectManager interface fixes the issue. --- .../Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php b/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php index 8f135d6258..30263ea7e3 100644 --- a/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php +++ b/src/Symfony/Bridge/Doctrine/Form/ChoiceList/ORMQueryBuilderLoader.php @@ -14,7 +14,7 @@ namespace Symfony\Bridge\Doctrine\Form\ChoiceList; use Symfony\Component\Form\Exception\UnexpectedTypeException; use Doctrine\ORM\QueryBuilder; use Doctrine\DBAL\Connection; -use Doctrine\ORM\EntityManager; +use Doctrine\Common\Persistence\ObjectManager; /** * Getting Entities through the ORM QueryBuilder. @@ -35,7 +35,7 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface * Construct an ORM Query Builder Loader. * * @param QueryBuilder|\Closure $queryBuilder - * @param EntityManager $manager + * @param ObjectManager $manager * @param string $class * * @throws UnexpectedTypeException @@ -49,8 +49,8 @@ class ORMQueryBuilderLoader implements EntityLoaderInterface } if ($queryBuilder instanceof \Closure) { - if (!$manager instanceof EntityManager) { - throw new UnexpectedTypeException($manager, 'Doctrine\ORM\EntityManager'); + if (!$manager instanceof ObjectManager) { + throw new UnexpectedTypeException($manager, 'Doctrine\Common\Persistence\ObjectManager'); } $queryBuilder = $queryBuilder($manager->getRepository($class));