diff --git a/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php b/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php index c26a2a35c..ab8e3b780 100644 --- a/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php +++ b/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php @@ -285,8 +285,8 @@ class XmlDriver extends AbstractFileDriver $mapping['cascade'] = $this->_getCascadeMappings($oneToOneElement->cascade); } - if (isset($oneToOneElement->{'orphan-removal'})) { - $mapping['orphanRemoval'] = (bool)$oneToOneElement->{'orphan-removal'}; + if (isset($oneToOneElement['orphan-removal'])) { + $mapping['orphanRemoval'] = (bool)$oneToOneElement['orphan-removal']; } $metadata->mapOneToOne($mapping); @@ -310,8 +310,8 @@ class XmlDriver extends AbstractFileDriver $mapping['cascade'] = $this->_getCascadeMappings($oneToManyElement->cascade); } - if (isset($oneToManyElement->{'orphan-removal'})) { - $mapping['orphanRemoval'] = (bool)$oneToManyElement->{'orphan-removal'}; + if (isset($oneToManyElement['orphan-removal'])) { + $mapping['orphanRemoval'] = (bool)$oneToManyElement['orphan-removal']; } if (isset($oneToManyElement->{'order-by'})) { diff --git a/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php b/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php index 6e4e2f353..8037a7fa7 100644 --- a/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php +++ b/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php @@ -186,6 +186,7 @@ abstract class AbstractMappingDriverTest extends \Doctrine\Tests\OrmTestCase $this->assertFalse($class->associationMappings['phonenumbers']['isCascadeRefresh']); $this->assertFalse($class->associationMappings['phonenumbers']['isCascadeDetach']); $this->assertFalse($class->associationMappings['phonenumbers']['isCascadeMerge']); + $this->assertTrue($class->associationMappings['phonenumbers']['orphanRemoval']); // Test Order By $this->assertEquals(array('number' => 'ASC'), $class->associationMappings['phonenumbers']['orderBy']); @@ -328,7 +329,7 @@ class User public $address; /** - * @OneToMany(targetEntity="Phonenumber", mappedBy="user", cascade={"persist"}) + * @OneToMany(targetEntity="Phonenumber", mappedBy="user", cascade={"persist"}, orphanRemoval=true) * @OrderBy({"number"="ASC"}) */ public $phonenumbers; @@ -423,7 +424,7 @@ class User 1 => 'persist', ), 'mappedBy' => 'user', - 'orphanRemoval' => false, + 'orphanRemoval' => true, 'orderBy' => array( 'number' => 'ASC', diff --git a/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php b/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php index 505188757..2039578a3 100644 --- a/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php +++ b/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php @@ -63,7 +63,7 @@ $metadata->mapOneToMany(array( 1 => 'persist', ), 'mappedBy' => 'user', - 'orphanRemoval' => false, + 'orphanRemoval' => true, 'orderBy' => array( 'number' => 'ASC', diff --git a/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml b/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml index c066cbef1..524b2494f 100644 --- a/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml +++ b/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml @@ -39,7 +39,7 @@ - + diff --git a/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml b/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml index 490a21c2a..333474981 100644 --- a/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml +++ b/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml @@ -34,6 +34,7 @@ Doctrine\Tests\ORM\Mapping\User: oneToMany: phonenumbers: targetEntity: Phonenumber + orphanRemoval: true mappedBy: user orderBy: number: ASC