summaryrefslogtreecommitdiff
path: root/vendor/doctrine/orm/src/Mapping/AssociationOverrides.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2024-08-13 23:45:21 +0200
committerpolo <ordipolo@gmx.fr>2024-08-13 23:45:21 +0200
commitbf6655a534a6775d30cafa67bd801276bda1d98d (patch)
treec6381e3f6c81c33eab72508f410b165ba05f7e9c /vendor/doctrine/orm/src/Mapping/AssociationOverrides.php
parent94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff)
downloadAppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'vendor/doctrine/orm/src/Mapping/AssociationOverrides.php')
-rw-r--r--vendor/doctrine/orm/src/Mapping/AssociationOverrides.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/doctrine/orm/src/Mapping/AssociationOverrides.php b/vendor/doctrine/orm/src/Mapping/AssociationOverrides.php
new file mode 100644
index 0000000..9fc6807
--- /dev/null
+++ b/vendor/doctrine/orm/src/Mapping/AssociationOverrides.php
@@ -0,0 +1,38 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\ORM\Mapping;
6
7use Attribute;
8
9use function array_values;
10use function is_array;
11
12/** This attribute is used to override association mappings of relationship properties. */
13#[Attribute(Attribute::TARGET_CLASS)]
14final class AssociationOverrides implements MappingAttribute
15{
16 /**
17 * Mapping overrides of relationship properties.
18 *
19 * @var list<AssociationOverride>
20 */
21 public readonly array $overrides;
22
23 /** @param array<AssociationOverride>|AssociationOverride $overrides */
24 public function __construct(array|AssociationOverride $overrides)
25 {
26 if (! is_array($overrides)) {
27 $overrides = [$overrides];
28 }
29
30 foreach ($overrides as $override) {
31 if (! ($override instanceof AssociationOverride)) {
32 throw MappingException::invalidOverrideType('AssociationOverride', $override);
33 }
34 }
35
36 $this->overrides = array_values($overrides);
37 }
38}