@@ 58-78 (lines=21) @@ | ||
55 | /** @var JoinColumns[] $joinsColumns */ |
|
56 | $joinsColumns = $this->hydrator->extractSpecAnnotations($targetClass, JoinColumns::class); |
|
57 | ||
58 | foreach ($manyToOnes as $propName => $mto) { |
|
59 | if (!isset($joinsColumns[$propName])) { |
|
60 | continue; |
|
61 | } |
|
62 | ||
63 | foreach ($joinsColumns as $joinsColumn) { |
|
64 | /** @var JoinColumn[] $joinColumns */ |
|
65 | $joinColumns = $joinsColumn->value; |
|
66 | foreach ($joinColumns as $joinColumn) { |
|
67 | $colunmName = AnnotationEntityHydrator::camelizeString($joinColumn->referencedColumnName); |
|
68 | foreach ($results as $key => $result) { |
|
69 | if (property_exists(get_class($result), $colunmName)) { |
|
70 | $value = $this->hydrator->extract($result, $colunmName); |
|
71 | $relObject = $entityManager->getRepository($mto->targetEntity) |
|
72 | ->findOneBy([$colunmName => $value]); |
|
73 | $this->hydrator->hydrate($results[$key], [$colunmName => $relObject]); |
|
74 | } |
|
75 | } |
|
76 | } |
|
77 | } |
|
78 | } |
|
79 | ||
80 | $eventArgs->setResults($results); |
|
81 | } |
|
@@ 96-116 (lines=21) @@ | ||
93 | /** @var ManyToOne[] $manyToOnes */ |
|
94 | $manyToOnes = $this->hydrator->extractSpecAnnotations($targetClass, ManyToOne::class); |
|
95 | ||
96 | foreach ($manyToOnes as $propName => $mto) { |
|
97 | if (!isset($joinsColumns[$propName])) { |
|
98 | continue; |
|
99 | } |
|
100 | ||
101 | foreach ($joinsColumns as $joinsColumn) { |
|
102 | /** @var JoinColumn[] $joinColumns */ |
|
103 | $joinColumns = $joinsColumn->value; |
|
104 | foreach ($joinColumns as $joinColumn) { |
|
105 | $colunmName = AnnotationEntityHydrator::camelizeString($joinColumn->referencedColumnName); |
|
106 | foreach ($results as $key => $result) { |
|
107 | if (property_exists(get_class($result), $colunmName)) { |
|
108 | $value = $this->hydrator->extract($result, $colunmName); |
|
109 | $relObject = $entityManager->getRepository($mto->targetEntity) |
|
110 | ->findOneBy([$colunmName => $value]); |
|
111 | $this->hydrator->hydrate($results[$key], [$colunmName => $relObject]); |
|
112 | } |
|
113 | } |
|
114 | } |
|
115 | } |
|
116 | } |
|
117 | ||
118 | $eventArgs->setResults($results); |
|
119 | } |