diff --git a/CHANGELOG.md b/CHANGELOG.md index f0668f8c14..32f3593d1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ a release. --- ## [Unreleased] +### Added +- Support for `doctrine/persistence` ^4.0 + ### Deprecated - Sluggable: Annotation-specific mapping parameters (#2837) diff --git a/composer.json b/composer.json index a1b84dfcda..bc55266266 100644 --- a/composer.json +++ b/composer.json @@ -45,7 +45,7 @@ "doctrine/collections": "^1.2 || ^2.0", "doctrine/deprecations": "^1.0", "doctrine/event-manager": "^1.2 || ^2.0", - "doctrine/persistence": "^2.2 || ^3.0", + "doctrine/persistence": "^2.2 || ^3.0 || ^4.0", "psr/cache": "^1 || ^2 || ^3", "psr/clock": "^1", "symfony/cache": "^5.4 || ^6.0 || ^7.0" diff --git a/src/References/ReferencesListener.php b/src/References/ReferencesListener.php index 6f9c7c85e4..de61a48ba8 100644 --- a/src/References/ReferencesListener.php +++ b/src/References/ReferencesListener.php @@ -126,15 +126,12 @@ public function postLoad(EventArgs $eventArgs) $property->setValue( $object, new LazyCollection( - static function () use ($id, &$manager, $class, $identifier) { - $results = $manager - ->getRepository($class) + static fn () => new ArrayCollection( + $manager->getRepository($class) ->findBy([ $identifier => $id, - ]); - - return new ArrayCollection(is_array($results) ? $results : $results->toArray()); - } + ]) + ) ) ); } @@ -235,15 +232,12 @@ public function updateManyEmbedReferences(EventArgs $eventArgs) $property->setValue( $object, new LazyCollection( - static function () use ($id, &$manager, $class, $identifier) { - $results = $manager - ->getRepository($class) + static fn () => new ArrayCollection( + $manager->getRepository($class) ->findBy([ $identifier => $id, - ]); - - return new ArrayCollection(is_array($results) ? $results : $results->toArray()); - } + ]) + ) ) ); }