From 20d86c5b27b8af6c567aefe7baaf7e66d13c4b95 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Mon, 6 Jun 2016 00:11:19 +0200 Subject: [PATCH] #5849 #5850 refactored `clearIdentityMapForEntityName` to remove useless looping --- lib/Doctrine/ORM/UnitOfWork.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/Doctrine/ORM/UnitOfWork.php b/lib/Doctrine/ORM/UnitOfWork.php index 5c943297d..0876740da 100644 --- a/lib/Doctrine/ORM/UnitOfWork.php +++ b/lib/Doctrine/ORM/UnitOfWork.php @@ -3460,16 +3460,14 @@ class UnitOfWork implements PropertyChangedListener */ private function clearIdentityMapForEntityName($entityName) { - $visited = array(); + if (! isset($this->identityMap[$entityName])) { + return; + } - foreach ($this->identityMap as $className => $entities) { - if ($className !== $entityName) { - continue; - } + $visited = []; - foreach ($entities as $entity) { - $this->doDetach($entity, $visited, false); - } + foreach ($this->identityMap[$entityName] as $entity) { + $this->doDetach($entity, $visited, false); } }