Skip to content

Commit

Permalink
Merge pull request #10637 from greg0ire/move-properties-down
Browse files Browse the repository at this point in the history
  • Loading branch information
greg0ire committed Apr 18, 2023
2 parents fd64e13 + 672ff01 commit bf7ffa9
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 54 deletions.
4 changes: 2 additions & 2 deletions lib/Doctrine/ORM/Mapping/ClassMetadata.php
Original file line number Diff line number Diff line change
Expand Up @@ -1729,8 +1729,8 @@ public function setAssociationOverride(string $fieldName, array $overrideMapping
$mapping['sourceToTargetKeyColumns'] = null;
break;
case self::MANY_TO_MANY:
$mapping['relationToSourceKeyColumns'] = null;
$mapping['relationToTargetKeyColumns'] = null;
$mapping['relationToSourceKeyColumns'] = [];
$mapping['relationToTargetKeyColumns'] = [];
break;
}

Expand Down
16 changes: 0 additions & 16 deletions lib/Doctrine/ORM/Mapping/ManyToManyAssociationMapping.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,4 @@

class ManyToManyAssociationMapping extends ToManyAssociationMapping
{
public array|null $relationToSourceKeyColumns = null;
public array|null $relationToTargetKeyColumns = null;

/** @return list<string> */
public function __sleep(): array
{
$serialized = parent::__sleep();

foreach (['relationToSourceKeyColumns', 'relationToTargetKeyColumns'] as $arrayKey) {
if ($this->$arrayKey !== null) {
$serialized[] = $arrayKey;
}
}

return $serialized;
}
}
11 changes: 11 additions & 0 deletions lib/Doctrine/ORM/Mapping/ManyToManyOwningSideMapping.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ final class ManyToManyOwningSideMapping extends ManyToManyAssociationMapping imp
/** @var list<mixed> */
public array $joinTableColumns = [];

/** @var array<string, string> */
public array $relationToSourceKeyColumns = [];
/** @var array<string, string> */
public array $relationToTargetKeyColumns = [];

/** @return array<string, mixed> */
public function toArray(): array
{
Expand Down Expand Up @@ -135,6 +140,12 @@ public function __sleep(): array
$serialized[] = 'joinTable';
$serialized[] = 'joinTableColumns';

foreach (['relationToSourceKeyColumns', 'relationToTargetKeyColumns'] as $arrayKey) {
if ($this->$arrayKey !== null) {
$serialized[] = $arrayKey;
}
}

return $serialized;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,18 @@ public function testItSurvivesSerialization(): void
targetEntity: self::class,
);

$mapping->joinTable = new JoinTableMapping();
$mapping->joinTable->name = 'bar';
$mapping->joinTableColumns = ['foo', 'bar'];
$mapping->joinTable = new JoinTableMapping();
$mapping->joinTable->name = 'bar';
$mapping->joinTableColumns = ['foo', 'bar'];
$mapping->relationToSourceKeyColumns = ['foo' => 'bar'];
$mapping->relationToTargetKeyColumns = ['bar' => 'baz'];

$resurrectedMapping = unserialize(serialize($mapping));
assert($resurrectedMapping instanceof ManyToManyOwningSideMapping);

self::assertSame($resurrectedMapping->joinTable->name, 'bar');
self::assertSame(['foo', 'bar'], $resurrectedMapping->joinTableColumns);
self::assertSame(['foo' => 'bar'], $resurrectedMapping->relationToSourceKeyColumns);
self::assertSame(['bar' => 'baz'], $resurrectedMapping->relationToTargetKeyColumns);
}
}

0 comments on commit bf7ffa9

Please sign in to comment.