1
0
mirror of synced 2025-02-02 21:41:45 +03:00

Merge branch 'fix/#5858-yaml-exporter-should-only-introspect-join-column-on-owning-association-side-2.5' into 2.5

Close #5858
This commit is contained in:
Marco Pivetta 2016-06-08 13:34:23 +02:00
commit 0d93461e66
5 changed files with 24 additions and 2 deletions

View File

@ -117,7 +117,7 @@ class PhpExporter extends AbstractExporter
$oneToOneMappingArray = array( $oneToOneMappingArray = array(
'mappedBy' => $associationMapping['mappedBy'], 'mappedBy' => $associationMapping['mappedBy'],
'inversedBy' => $associationMapping['inversedBy'], 'inversedBy' => $associationMapping['inversedBy'],
'joinColumns' => $associationMapping['joinColumns'], 'joinColumns' => $associationMapping['isOwningSide'] ? $associationMapping['joinColumns'] : [],
'orphanRemoval' => $associationMapping['orphanRemoval'], 'orphanRemoval' => $associationMapping['orphanRemoval'],
); );

View File

@ -163,7 +163,7 @@ class YamlExporter extends AbstractExporter
} }
if ($associationMapping['type'] & ClassMetadataInfo::TO_ONE) { if ($associationMapping['type'] & ClassMetadataInfo::TO_ONE) {
$joinColumns = $associationMapping['joinColumns']; $joinColumns = $associationMapping['isOwningSide'] ? $associationMapping['joinColumns'] : [];
$newJoinColumns = array(); $newJoinColumns = array();
foreach ($joinColumns as $joinColumn) { foreach ($joinColumns as $joinColumn) {

View File

@ -57,6 +57,18 @@ $metadata->mapOneToOne(array(
'orphanRemoval' => true, 'orphanRemoval' => true,
'fetch' => ClassMetadataInfo::FETCH_EAGER, 'fetch' => ClassMetadataInfo::FETCH_EAGER,
)); ));
$metadata->mapOneToOne(array(
'fieldName' => 'cart',
'targetEntity' => 'Doctrine\\Tests\\ORM\\Tools\\Export\\Cart',
'mappedBy' => 'user',
'cascade' =>
array(
0 => 'persist',
),
'inversedBy' => NULL,
'orphanRemoval' => false,
'fetch' => ClassMetadataInfo::FETCH_EAGER,
));
$metadata->mapOneToMany(array( $metadata->mapOneToMany(array(
'fieldName' => 'phonenumbers', 'fieldName' => 'phonenumbers',
'targetEntity' => 'Doctrine\\Tests\\ORM\\Tools\\Export\\Phonenumber', 'targetEntity' => 'Doctrine\\Tests\\ORM\\Tools\\Export\\Phonenumber',

View File

@ -30,6 +30,12 @@
<join-column name="address_id" referenced-column-name="id" on-delete="CASCADE" on-update="CASCADE"/> <join-column name="address_id" referenced-column-name="id" on-delete="CASCADE" on-update="CASCADE"/>
</one-to-one> </one-to-one>
<one-to-one field="cart" target-entity="Doctrine\Tests\ORM\Tools\Export\Cart" mapped-by="user">
<cascade>
<cascade-remove/>
</cascade>
</one-to-one>
<many-to-one field="mainGroup" target-entity="Doctrine\Tests\ORM\Tools\Export\Group" /> <many-to-one field="mainGroup" target-entity="Doctrine\Tests\ORM\Tools\Export\Group" />
<one-to-many field="phonenumbers" target-entity="Doctrine\Tests\ORM\Tools\Export\Phonenumber" mapped-by="user" orphan-removal="true" fetch="LAZY"> <one-to-many field="phonenumbers" target-entity="Doctrine\Tests\ORM\Tools\Export\Phonenumber" mapped-by="user" orphan-removal="true" fetch="LAZY">

View File

@ -30,6 +30,10 @@ Doctrine\Tests\ORM\Tools\Export\User:
inversedBy: user inversedBy: user
orphanRemoval: true orphanRemoval: true
fetch: EAGER fetch: EAGER
cart:
targetEntity: Doctrine\Tests\ORM\Tools\Export\Cart
mappedBy: user
cascade: [ remove ]
manyToOne: manyToOne:
mainGroup: mainGroup:
targetEntity: Doctrine\Tests\ORM\Tools\Export\Group targetEntity: Doctrine\Tests\ORM\Tools\Export\Group