Skip to content

Commit 289fa57

Browse files
Try
1 parent 8481ef9 commit 289fa57

2 files changed

Lines changed: 115 additions & 15 deletions

File tree

src/AuditReader.php

Lines changed: 87 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -880,8 +880,14 @@ private function createEntity($className, array $columnMap, array $data, $revisi
880880
$type = Type::getType(self::getMappingValue($classMetadata->fieldMappings[$field], 'type'));
881881
$value = $type->convertToPHPValue($value, $this->platform);
882882

883-
$reflField = $classMetadata->reflFields[$field];
883+
/** @psalm-suppress DeprecatedProperty */
884+
$reflField = $classMetadata->propertyAccessors[$field] ?? $classMetadata->reflFields[$field];
884885
\assert(null !== $reflField);
886+
/**
887+
* @psalm-suppress InternalMethod
888+
*
889+
* @phpstan-ignore-next-line method.internalInterface
890+
*/
885891
$reflField->setValue($entity, $value);
886892
}
887893
}
@@ -980,8 +986,14 @@ private function createEntity($className, array $columnMap, array $data, $revisi
980986
}
981987
}
982988

983-
$reflField = $classMetadata->reflFields[$field];
989+
/** @psalm-suppress DeprecatedProperty */
990+
$reflField = $classMetadata->propertyAccessors[$field] ?? $classMetadata->reflFields[$field];
984991
\assert(null !== $reflField);
992+
/**
993+
* @psalm-suppress InternalMethod
994+
*
995+
* @phpstan-ignore-next-line method.internalInterface
996+
*/
985997
$reflField->setValue($entity, $value);
986998
} elseif (
987999
0 !== ($assoc['type'] & ClassMetadata::ONE_TO_MANY)
@@ -993,8 +1005,14 @@ private function createEntity($className, array $columnMap, array $data, $revisi
9931005
$foreignKeys = [];
9941006
foreach ($targetClass->associationMappings[$mappedBy]['sourceToTargetKeyColumns'] as $local => $foreign) {
9951007
$field = $classMetadata->getFieldForColumn($foreign);
996-
$reflField = $classMetadata->reflFields[$field];
1008+
/** @psalm-suppress DeprecatedProperty */
1009+
$reflField = $classMetadata->propertyAccessors[$field] ?? $classMetadata->reflFields[$field];
9971010
\assert(null !== $reflField);
1011+
/**
1012+
* @psalm-suppress InternalMethod
1013+
*
1014+
* @phpstan-ignore-next-line method.internalInterface
1015+
*/
9981016
$foreignKeys[$local] = $reflField->getValue($entity);
9991017
}
10001018

@@ -1020,8 +1038,14 @@ private function createEntity($className, array $columnMap, array $data, $revisi
10201038
}
10211039
}
10221040

1023-
$reflField = $classMetadata->reflFields[$assoc['fieldName']];
1041+
/** @psalm-suppress DeprecatedProperty */
1042+
$reflField = $classMetadata->propertyAccessors[$assoc['fieldName']] ?? $classMetadata->reflFields[$assoc['fieldName']];
10241043
\assert(null !== $reflField);
1044+
/**
1045+
* @psalm-suppress InternalMethod
1046+
*
1047+
* @phpstan-ignore-next-line method.internalInterface
1048+
*/
10251049
$reflField->setValue($entity, $collection);
10261050
} elseif (self::isManyToMany($assoc)) {
10271051
if (self::isManyToManyOwningSideMapping($assoc)) {
@@ -1030,9 +1054,15 @@ private function createEntity($className, array $columnMap, array $data, $revisi
10301054
foreach (self::getRelationToSourceKeyColumns($assoc) as $sourceKeyJoinColumn => $sourceKeyColumn) {
10311055
$whereId[] = "{$sourceKeyJoinColumn} = ?";
10321056

1033-
$reflField = $classMetadata->reflFields['id'];
1057+
/** @psalm-suppress DeprecatedProperty */
1058+
$reflField = $classMetadata->propertyAccessors['id'] ?? $classMetadata->reflFields['id'];
10341059
\assert(null !== $reflField);
10351060

1061+
/**
1062+
* @psalm-suppress InternalMethod
1063+
*
1064+
* @phpstan-ignore-next-line method.internalInterface
1065+
*/
10361066
$values[] = $reflField->getValue($entity);
10371067
}
10381068

@@ -1081,7 +1111,8 @@ private function createEntity($className, array $columnMap, array $data, $revisi
10811111
}
10821112
}
10831113
} else {
1084-
$reflField = $classMetadata->reflFields[$assoc['fieldName']];
1114+
/** @psalm-suppress DeprecatedProperty */
1115+
$reflField = $classMetadata->propertyAccessors[$assoc['fieldName']] ?? $classMetadata->reflFields[$assoc['fieldName']];
10851116
\assert(null !== $reflField);
10861117

10871118
if ($this->loadNativeCollections) {
@@ -1094,15 +1125,31 @@ private function createEntity($className, array $columnMap, array $data, $revisi
10941125
$this->getEntityPersister($targetEntity)
10951126
->loadManyToManyCollection($assoc, $entity, $collection);
10961127

1128+
/**
1129+
* @psalm-suppress InternalMethod
1130+
*
1131+
* @phpstan-ignore-next-line method.internalInterface
1132+
*/
10971133
$reflField->setValue($entity, $collection);
10981134
} else {
1135+
/**
1136+
* @psalm-suppress InternalMethod
1137+
*
1138+
* @phpstan-ignore-next-line method.internalInterface
1139+
*/
10991140
$reflField->setValue($entity, new ArrayCollection());
11001141
}
11011142
}
11021143
}
1103-
$reflField = $classMetadata->reflFields[$field];
1144+
/** @psalm-suppress DeprecatedProperty */
1145+
$reflField = $classMetadata->propertyAccessors[$field] ?? $classMetadata->reflFields[$field];
11041146
\assert(null !== $reflField);
11051147

1148+
/**
1149+
* @psalm-suppress InternalMethod
1150+
*
1151+
* @phpstan-ignore-next-line method.internalInterface
1152+
*/
11061153
$reflField->setValue($entity, $collection);
11071154
} elseif (isset($targetClass->associationMappings[$mappedBy])) {
11081155
$targetAssoc = $targetClass->associationMappings[$mappedBy];
@@ -1123,8 +1170,14 @@ private function createEntity($className, array $columnMap, array $data, $revisi
11231170
)) {
11241171
foreach ($targetAssoc['relationToTargetKeyColumns'] as $targetKeyJoinColumn => $targetKeyColumn) {
11251172
$whereId[] = "{$targetKeyJoinColumn} = ?";
1126-
$reflField = $classMetadata->reflFields['id'];
1173+
/** @psalm-suppress DeprecatedProperty */
1174+
$reflField = $classMetadata->propertyAccessors['id'] ?? $classMetadata->reflFields['id'];
11271175
\assert(null !== $reflField);
1176+
/**
1177+
* @psalm-suppress InternalMethod
1178+
*
1179+
* @phpstan-ignore-next-line method.internalInterface
1180+
*/
11281181
$values[] = $reflField->getValue($entity);
11291182
}
11301183

@@ -1172,7 +1225,8 @@ private function createEntity($className, array $columnMap, array $data, $revisi
11721225
}
11731226
}
11741227
} else {
1175-
$reflField = $classMetadata->reflFields[$assoc['fieldName']];
1228+
/** @psalm-suppress DeprecatedProperty */
1229+
$reflField = $classMetadata->propertyAccessors[$assoc['fieldName']] ?? $classMetadata->reflFields[$assoc['fieldName']];
11761230
\assert(null !== $reflField);
11771231

11781232
if ($this->loadNativeCollections) {
@@ -1185,19 +1239,41 @@ private function createEntity($className, array $columnMap, array $data, $revisi
11851239
$this->getEntityPersister($assoc['targetEntity'])
11861240
->loadManyToManyCollection($assoc, $entity, $collection);
11871241

1242+
/**
1243+
* @psalm-suppress InternalMethod
1244+
*
1245+
* @phpstan-ignore-next-line method.internalInterface
1246+
*/
11881247
$reflField->setValue($entity, $collection);
11891248
} else {
1249+
/**
1250+
* @psalm-suppress InternalMethod
1251+
*
1252+
* @phpstan-ignore-next-line method.internalInterface
1253+
*/
11901254
$reflField->setValue($entity, new ArrayCollection());
11911255
}
11921256
}
1193-
$reflField = $classMetadata->reflFields[$field];
1257+
/** @psalm-suppress DeprecatedProperty */
1258+
$reflField = $classMetadata->propertyAccessors[$field] ?? $classMetadata->reflFields[$field];
11941259
\assert(null !== $reflField);
1260+
/**
1261+
* @psalm-suppress InternalMethod
1262+
*
1263+
* @phpstan-ignore-next-line method.internalInterface
1264+
*/
11951265
$reflField->setValue($entity, $collection);
11961266
}
11971267
} else {
11981268
// Inject collection
1199-
$reflField = $classMetadata->reflFields[$field];
1269+
/** @psalm-suppress DeprecatedProperty */
1270+
$reflField = $classMetadata->propertyAccessors[$field] ?? $classMetadata->reflFields[$field];
12001271
\assert(null !== $reflField);
1272+
/**
1273+
* @psalm-suppress InternalMethod
1274+
*
1275+
* @phpstan-ignore-next-line method.internalInterface
1276+
*/
12011277
$reflField->setValue($entity, new ArrayCollection());
12021278
}
12031279
}

src/EventListener/LogRevisionsListener.php

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,14 @@ public function postFlush(PostFlushEventArgs $eventArgs): void
198198
throw new \RuntimeException('column name not found for'.$idField);
199199
}
200200

201-
$reflField = $meta->reflFields[$idField];
201+
/** @psalm-suppress DeprecatedProperty */
202+
$reflField = $meta->propertyAccessors[$idField] ?? $meta->reflFields[$idField];
202203
\assert(null !== $reflField);
204+
/**
205+
* @psalm-suppress InternalMethod
206+
*
207+
* @phpstan-ignore-next-line method.internalInterface
208+
*/
203209
$params[] = $reflField->getValue($entity);
204210

205211
$sql .= ' AND '.$columnName.' = ?';
@@ -342,8 +348,14 @@ private function getOriginalEntityData(EntityManagerInterface $em, object $entit
342348
if ($class->isVersioned) {
343349
$versionField = $class->versionField;
344350
\assert(null !== $versionField);
345-
$reflField = $class->reflFields[$versionField];
351+
/** @psalm-suppress DeprecatedProperty */
352+
$reflField = $class->propertyAccessors[$versionField] ?? $class->reflFields[$versionField];
346353
\assert(null !== $reflField);
354+
/**
355+
* @psalm-suppress InternalMethod
356+
*
357+
* @phpstan-ignore-next-line method.internalInterface
358+
*/
347359
$data[$versionField] = $reflField->getValue($entity);
348360
}
349361

@@ -361,8 +373,14 @@ private function getManyToManyRelations(EntityManagerInterface $em, object $enti
361373
$class = $em->getClassMetadata($entity::class);
362374
foreach ($class->associationMappings as $field => $assoc) {
363375
if (self::isManyToManyOwningSideMapping($assoc)) {
364-
$reflField = $class->reflFields[$field];
376+
/** @psalm-suppress DeprecatedProperty */
377+
$reflField = $class->propertyAccessors[$field] ?? $class->reflFields[$field];
365378
\assert(null !== $reflField);
379+
/**
380+
* @psalm-suppress InternalMethod
381+
*
382+
* @phpstan-ignore-next-line method.internalInterface
383+
*/
366384
$data[$field] = $reflField->getValue($entity);
367385
}
368386
}
@@ -675,8 +693,14 @@ private function recordRevisionForManyToManyEntity(
675693
}
676694

677695
foreach (self::getRelationToTargetKeyColumns($assoc) as $targetColumn) {
678-
$reflField = $targetClass->reflFields[$targetClass->fieldNames[$targetColumn]];
696+
/** @psalm-suppress DeprecatedProperty */
697+
$reflField = $targetClass->propertyAccessors[$targetClass->fieldNames[$targetColumn]] ?? $targetClass->reflFields[$targetClass->fieldNames[$targetColumn]];
679698
\assert(null !== $reflField);
699+
/**
700+
* @psalm-suppress InternalMethod
701+
*
702+
* @phpstan-ignore-next-line method.internalInterface
703+
*/
680704
$joinTableParams[] = $reflField->getValue($relatedEntity);
681705
$joinTableTypes[] = PersisterHelper::getTypeOfColumn($targetColumn, $targetClass, $em);
682706
}

0 commit comments

Comments
 (0)