protected function recompute($document, AbstractChangeEventArgs $eventArgs, $documentManager) { $unitOfWork = $documentManager->getUnitOfWork(); $changeSet = $eventArgs->getChangeSet(); $metadata = $eventArgs->getMetadata(); foreach ($eventArgs->getRecompute() as $field) { if ($changeSet->hasField($field)) { $oldValue = $changeSet->getField($field)[0]; } else { $oldValue = null; } $unitOfWork->propertyChanged($document, $field, $oldValue, $metadata->getFieldValue($document, $field)); } }