| @@ 251-270 (lines=20) @@ | ||
| 248 | /** @var mixed $reflectionClass */ |
|
| 249 | $reflectionClass = new ReflectionClass($entityMapping->getEntityClassName()); |
|
| 250 | ||
| 251 | foreach ($entityMapping->getFieldMappings() as $fieldName => $entityFieldMapping) { |
|
| 252 | /** @var MappingInterface $entityFieldMapping */ |
|
| 253 | ||
| 254 | /** @var ReflectionProperty $reflectionProperty */ |
|
| 255 | $reflectionProperty = $reflectionClass->getProperty($fieldName); |
|
| 256 | ||
| 257 | $reflectionProperty->setAccessible(true); |
|
| 258 | ||
| 259 | /** @var mixed $valueFromEntityField */ |
|
| 260 | $valueFromEntityField = $reflectionProperty->getValue($entity); |
|
| 261 | ||
| 262 | /** @var array<scalar> $fieldAdditionalData */ |
|
| 263 | $fieldAdditionalData = $this->valueResolver->revertValue( |
|
| 264 | $entityFieldMapping, |
|
| 265 | $entity, |
|
| 266 | $valueFromEntityField |
|
| 267 | ); |
|
| 268 | ||
| 269 | $additionalData = array_merge($additionalData, $fieldAdditionalData); |
|
| 270 | } |
|
| 271 | ||
| 272 | return $additionalData; |
|
| 273 | } |
|
| @@ 118-136 (lines=19) @@ | ||
| 115 | ||
| 116 | $reflectionClass = new ReflectionClass($className); |
|
| 117 | ||
| 118 | foreach ($objectMapping->getFieldMappings() as $fieldName => $fieldMapping) { |
|
| 119 | /** @var MappingInterface $fieldMapping */ |
|
| 120 | ||
| 121 | /** @var ReflectionProperty $reflectionProperty */ |
|
| 122 | $reflectionProperty = $reflectionClass->getProperty($fieldName); |
|
| 123 | ||
| 124 | $reflectionProperty->setAccessible(true); |
|
| 125 | $valueFromField = null; |
|
| 126 | ||
| 127 | if (is_object($valueFromEntityField)) { |
|
| 128 | $valueFromField = $reflectionProperty->getValue($valueFromEntityField); |
|
| 129 | } |
|
| 130 | ||
| 131 | $data = array_merge($data, $this->fieldValueResolver->revertValue( |
|
| 132 | $fieldMapping, |
|
| 133 | $entity, |
|
| 134 | $valueFromField |
|
| 135 | )); |
|
| 136 | } |
|
| 137 | } |
|
| 138 | ||
| 139 | return $data; |
|