From 82aa08e5ffa45fad42edc9edf365c7d1d7f06101 Mon Sep 17 00:00:00 2001 From: katinsv Date: Fri, 13 Mar 2020 16:59:56 +0300 Subject: [PATCH] Fix Assert\Choice when choices are object not array --- .../Annotations/SymfonyConstraintAnnotationReader.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php b/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php index db25d0d..73f8449 100644 --- a/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php +++ b/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php @@ -67,7 +67,8 @@ class SymfonyConstraintAnnotationReader $property->setMinItems($annotation->min); $property->setMaxItems($annotation->max); } elseif ($annotation instanceof Assert\Choice) { - $property->setEnum($annotation->callback ? call_user_func(is_array($annotation->callback) ? $annotation->callback : [$reflectionProperty->class, $annotation->callback]) : $annotation->choices); + $values = $annotation->callback ? call_user_func(is_array($annotation->callback) ? $annotation->callback : [$reflectionProperty->class, $annotation->callback]) : $annotation->choices; + $property->setEnum(array_values($values)); } elseif ($annotation instanceof Assert\Expression) { $this->appendPattern($property, $annotation->message); } elseif ($annotation instanceof Assert\Range) {