@@ -360,11 +360,11 @@ private function createInitializer(ClassMetadata $classMetadata, EntityPersister
360360 */
361361 private function createLazyInitializer (ClassMetadata $ classMetadata , EntityPersister $ entityPersister , IdentifierFlattener $ identifierFlattener ): Closure
362362 {
363- return static function (InternalProxy $ proxy, InternalProxy $ original ) use ($ entityPersister , $ classMetadata , $ identifierFlattener ): void {
364- $ identifier = $ classMetadata ->getIdentifierValues ($ original );
365- $ entity = $ entityPersister ->loadById ($ identifier, $ original );
363+ return static function (InternalProxy $ proxy ) use ($ entityPersister , $ classMetadata , $ identifierFlattener ): void {
364+ $ identifier = $ classMetadata ->getIdentifierValues ($ proxy );
365+ $ original = $ entityPersister ->loadById ($ identifier );
366366
367- if ($ entity === null ) {
367+ if ($ original === null ) {
368368 throw EntityNotFoundException::fromClassNameAndIdentifier (
369369 $ classMetadata ->getName (),
370370 $ identifierFlattener ->flattenIdentifier ($ classMetadata , $ identifier )
@@ -382,7 +382,7 @@ private function createLazyInitializer(ClassMetadata $classMetadata, EntityPersi
382382 continue ;
383383 }
384384
385- $ property ->setValue ($ proxy , $ property ->getValue ($ entity ));
385+ $ property ->setValue ($ proxy , $ property ->getValue ($ original ));
386386 }
387387 };
388388 }
@@ -468,9 +468,7 @@ private function getProxyFactory(string $className): Closure
468468 $ identifierFields = array_intersect_key ($ class ->getReflectionProperties (), $ identifiers );
469469
470470 $ proxyFactory = Closure::bind (static function (array $ identifier ) use ($ initializer , $ skippedProperties , $ identifierFields , $ className ): InternalProxy {
471- $ proxy = self ::createLazyGhost (static function (InternalProxy $ object ) use ($ initializer , &$ proxy ): void {
472- $ initializer ($ object , $ proxy );
473- }, $ skippedProperties );
471+ $ proxy = self ::createLazyGhost ($ initializer , $ skippedProperties );
474472
475473 foreach ($ identifierFields as $ idField => $ reflector ) {
476474 if (! isset ($ identifier [$ idField ])) {
0 commit comments