From f5705d6d954c97d98bbb00d4e0eaaed36edf1d92 Mon Sep 17 00:00:00 2001 From: Marco Pivetta Date: Thu, 5 Feb 2015 00:52:54 +0000 Subject: [PATCH] #1169 DDC-3343 - corrected persister logic - only uses the entity persister to perform deletes on the owning side --- lib/Doctrine/ORM/Persisters/OneToManyPersister.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/Doctrine/ORM/Persisters/OneToManyPersister.php b/lib/Doctrine/ORM/Persisters/OneToManyPersister.php index 6e43ef29e..b1ff59cdc 100644 --- a/lib/Doctrine/ORM/Persisters/OneToManyPersister.php +++ b/lib/Doctrine/ORM/Persisters/OneToManyPersister.php @@ -244,10 +244,11 @@ class OneToManyPersister extends AbstractCollectionPersister return false; } - $class = $this->em->getClassMetadata($mapping['targetEntity']); - $sql = 'DELETE FROM ' . $this->quoteStrategy->getTableName($class, $this->platform) - . ' WHERE ' . implode('= ? AND ', $class->getIdentifierColumnNames()) . ' = ?'; + $this + ->uow + ->getEntityPersister($mapping['targetEntity']) + ->delete($element); - return (bool) $this->conn->executeUpdate($sql, $this->getDeleteRowSQLParameters($coll, $element)); + return true; } }