Ich habe Probleme mit der Berechnung von Werten für Änderungssatz. Ich brauche alten und neuen Wert für Referenzeinheiten innerhalb der aktuellen. Tatsache ist, dass diese Entitäten mit einem Proxy-Objekt gefüllt sind, um zu vermeiden, dass es von db geladen wird. Weil ich bereits alten Wert und neuen Wert für ID kenne. So Code wird wie folgt aussehen:Berechne changeSet für Objekt mit Proxy-Entität in Eigenschaft für Protokollierungszweck - Lehre
// in code
$entity->setEntity1($em->getReference(Entity1::class, $id));
...
// event callback for getting diff
protected function postUpdate(LifecycleEventArgs $args)
{
$em = $args->getEntityManager();
$uow = $em->getUnitOfWork();
$entity = $args->getEntity();
$classMetadata = $em->getClassMetadata(get_class($entity));
$uow->computeChangeSet($classMetadata, $entity);
$changeSet = $uow->getEntityChangeSet($entity);
echo json_encode($changeSet);
}
und Ergebnis ist:
{
"entity1": [
{
"__initializer__": {},
"__cloner__": {},
"__isInitialized__": false
},
{
"__initializer__": {},
"__cloner__": {},
"__isInitialized__": false
}
]
}
und gewünschte Ausgangs wäre:
{
"entity1": [ 101, 105]
}
So Proxy-Entität wird in seine Eigenschaft übersetzt. Wie kann ich das vermeiden und habe stattdessen nur IDs?
Dank