summaryrefslogtreecommitdiff
path: root/vendor/doctrine/orm/src/Mapping/ToOneInverseSideMapping.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/doctrine/orm/src/Mapping/ToOneInverseSideMapping.php')
-rw-r--r--vendor/doctrine/orm/src/Mapping/ToOneInverseSideMapping.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/doctrine/orm/src/Mapping/ToOneInverseSideMapping.php b/vendor/doctrine/orm/src/Mapping/ToOneInverseSideMapping.php
new file mode 100644
index 0000000..5be89e6
--- /dev/null
+++ b/vendor/doctrine/orm/src/Mapping/ToOneInverseSideMapping.php
@@ -0,0 +1,52 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\ORM\Mapping;
6
7abstract class ToOneInverseSideMapping extends InverseSideMapping
8{
9 /**
10 * @param mixed[] $mappingArray
11 * @param class-string $name
12 * @psalm-param array{
13 * fieldName: string,
14 * sourceEntity: class-string,
15 * targetEntity: class-string,
16 * cascade?: list<'persist'|'remove'|'detach'|'refresh'|'all'>,
17 * fetch?: ClassMetadata::FETCH_*|null,
18 * inherited?: class-string|null,
19 * declared?: class-string|null,
20 * cache?: array<mixed>|null,
21 * id?: bool|null,
22 * isOnDeleteCascade?: bool|null,
23 * originalClass?: class-string|null,
24 * originalField?: string|null,
25 * orphanRemoval?: bool,
26 * unique?: bool|null,
27 * joinTable?: mixed[]|null,
28 * type?: int,
29 * isOwningSide: bool,
30 * } $mappingArray
31 */
32 public static function fromMappingArrayAndName(
33 array $mappingArray,
34 string $name,
35 ): static {
36 $mapping = static::fromMappingArray($mappingArray);
37
38 if (isset($mapping->id) && $mapping->id === true) {
39 throw MappingException::illegalInverseIdentifierAssociation($name, $mapping->fieldName);
40 }
41
42 if ($mapping->orphanRemoval) {
43 if (! $mapping->isCascadeRemove()) {
44 $mapping->cascade[] = 'remove';
45 }
46
47 $mapping->unique = null;
48 }
49
50 return $mapping;
51 }
52}