Skip to content

Commit 6901634

Browse files
committed
fix(GH12017): updating snapshot when re-fetching generated columns
1 parent 3f2d059 commit 6901634

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

src/Persisters/Entity/BasicEntityPersister.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,14 @@ public function executeInserts(): void
288288
protected function assignDefaultVersionAndUpsertableValues(object $entity, array $id): void
289289
{
290290
$values = $this->fetchVersionAndNotUpsertableValues($this->class, $id);
291+
$uow = $this->em->getUnitOfWork();
292+
$oid = spl_object_id($entity);
291293

292294
foreach ($values as $field => $value) {
293295
$value = Type::getType($this->class->fieldMappings[$field]->type)->convertToPHPValue($value, $this->platform);
294296

295297
$this->class->setFieldValue($entity, $field, $value);
298+
$uow->setOriginalEntityProperty($oid, $field, $value);
296299
}
297300
}
298301

src/Persisters/Entity/JoinedSubclassPersister.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use function array_keys;
2020
use function array_values;
2121
use function implode;
22+
use function spl_object_id;
2223

2324
/**
2425
* The joined subclass persister maps a single entity instance to several tables in the
@@ -509,11 +510,14 @@ protected function getInsertColumnList(): array
509510
protected function assignDefaultVersionAndUpsertableValues(object $entity, array $id): void
510511
{
511512
$values = $this->fetchVersionAndNotUpsertableValues($this->getVersionedClassMetadata(), $id);
513+
$uow = $this->em->getUnitOfWork();
514+
$oid = spl_object_id($entity);
512515

513516
foreach ($values as $field => $value) {
514517
$value = Type::getType($this->class->fieldMappings[$field]->type)->convertToPHPValue($value, $this->platform);
515518

516519
$this->class->setFieldValue($entity, $field, $value);
520+
$uow->setOriginalEntityProperty($oid, $field, $value);
517521
}
518522
}
519523

0 commit comments

Comments
 (0)