From df020e08a0f55edc3a13a38f749b3e2be84ca5a6 Mon Sep 17 00:00:00 2001 From: Frank Liepert Date: Wed, 9 Apr 2014 11:30:11 +0200 Subject: [PATCH] [DDC-3076] Fix ObjectHydrator --- lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php b/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php index 859bd0b00..823f301b2 100644 --- a/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php +++ b/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php @@ -266,7 +266,13 @@ class ObjectHydrator extends AbstractHydrator throw HydrationException::emptyDiscriminatorValue($dqlAlias); } - $className = $this->ce[$className]->discriminatorMap[$data[$discrColumn]]; + $discrMap = $this->ce[$className]->discriminatorMap; + + if ( ! isset($discrMap[$data[$discrColumn]])) { + throw HydrationException::invalidDiscriminatorValue($data[$discrColumn], array_keys($discrMap)); + } + + $className = $discrMap[$data[$discrColumn]]; unset($data[$discrColumn]); }