From 43d9c191145fe1fb1ac7e2cd1268e542ed0c7b1b Mon Sep 17 00:00:00 2001 From: eltharin Date: Wed, 13 Mar 2024 14:18:10 +0100 Subject: [PATCH] [DoctrineBridge] Fix deprecation warning with ORM 3 when guessing field lengths --- .../Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php b/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php index 49b0a9f89aefa..1023602248fed 100644 --- a/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php +++ b/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php @@ -13,6 +13,7 @@ use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping\ClassMetadataInfo; +use Doctrine\ORM\Mapping\FieldMapping; use Doctrine\ORM\Mapping\JoinColumnMapping; use Doctrine\ORM\Mapping\MappingException as LegacyMappingException; use Doctrine\Persistence\ManagerRegistry; @@ -141,8 +142,10 @@ public function guessMaxLength(string $class, string $property) if ($ret && isset($ret[0]->fieldMappings[$property]) && !$ret[0]->hasAssociation($property)) { $mapping = $ret[0]->getFieldMapping($property); - if (isset($mapping['length'])) { - return new ValueGuess($mapping['length'], Guess::HIGH_CONFIDENCE); + $length = $mapping instanceof FieldMapping ? $mapping->length : ($mapping['length'] ?? null); + + if (null !== $length) { + return new ValueGuess($length, Guess::HIGH_CONFIDENCE); } if (\in_array($ret[0]->getTypeOfField($property), [Types::DECIMAL, Types::FLOAT])) {