From 78ceda7ecfa4992b83111b6d664e9e8a6c3798d9 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 fafc497c0..cc91acdd3 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]); }