From 82fb7b19a4f273dd324e07e125546b2b365b77b9 Mon Sep 17 00:00:00 2001 From: Bob van de Vijver Date: Wed, 22 Oct 2025 11:28:43 +0200 Subject: [PATCH] Fix attribute driver mapping pass compatibility with ORM 3 --- .../Compiler/DoctrineOrmMappingsPass.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/DependencyInjection/Compiler/DoctrineOrmMappingsPass.php b/src/DependencyInjection/Compiler/DoctrineOrmMappingsPass.php index 4ec6bd37..cce03485 100644 --- a/src/DependencyInjection/Compiler/DoctrineOrmMappingsPass.php +++ b/src/DependencyInjection/Compiler/DoctrineOrmMappingsPass.php @@ -16,6 +16,8 @@ use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; +use function method_exists; + /** * Class for Symfony bundles to configure mappings for model classes not in the * auto-mapped folder. @@ -177,7 +179,12 @@ public static function createAnnotationMappingDriver(array $namespaces, array $d */ public static function createAttributeMappingDriver(array $namespaces, array $directories, array $managerParameters = [], $enabledParameter = false, array $aliasMap = [], bool $reportFieldsWhereDeclared = false) { - $driver = new Definition(AttributeDriver::class, [$directories, $reportFieldsWhereDeclared]); + $driverArgs = [$directories]; + if (method_exists(AttributeDriver::class, 'getReader')) { + $driverArgs[] = $reportFieldsWhereDeclared; + } + + $driver = new Definition(AttributeDriver::class, $driverArgs); return new DoctrineOrmMappingsPass($driver, $namespaces, $managerParameters, $enabledParameter, $aliasMap); }