From f32766c00d735d6fc501d9869ccddd8e534c4e55 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Tue, 27 Jan 2015 07:46:31 +0100 Subject: [PATCH] #1169 DDC-3343 - when using one-to-many extra-lazy with orphan-removal, referenced entities should be deleted directly --- .../Collection/OneToManyPersister.php | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php b/lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php index fab5e9393..c18fdbbb9 100644 --- a/lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php +++ b/lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php @@ -168,22 +168,10 @@ class OneToManyPersister extends AbstractCollectionPersister return false; } - $persister = $this->uow->getEntityPersister($mapping['targetEntity']); - - $targetMetadata = $this->em->getClassMetadata($mapping['targetEntity']); - - if ($element instanceof Proxy && ! $element->__isInitialized()) { - $element->__load(); - } - - // clearing owning side value - $targetMetadata->reflFields[$mapping['mappedBy']]->setValue($element, null); - - $this->uow->computeChangeSet($targetMetadata, $element); - - $persister->update($element); - - return true; + return $this + ->uow + ->getEntityPersister($mapping['targetEntity']) + ->delete($element); } /**