|
23 | 23 | use Symfony\Component\Finder\Exception\DirectoryNotFoundException;
|
24 | 24 | use Symfony\Component\Finder\Finder;
|
25 | 25 | use Symfony\Component\Validator\Constraint;
|
| 26 | +use Symfony\Component\Validator\Mapping\AutoMappingStrategy; |
| 27 | +use Symfony\Component\Validator\Mapping\CascadingStrategy; |
26 | 28 | use Symfony\Component\Validator\Mapping\ClassMetadataInterface;
|
27 | 29 | use Symfony\Component\Validator\Mapping\Factory\MetadataFactoryInterface;
|
| 30 | +use Symfony\Component\Validator\Mapping\GenericMetadata; |
| 31 | +use Symfony\Component\Validator\Mapping\TraversalStrategy; |
28 | 32 |
|
29 | 33 | /**
|
30 | 34 | * A console command to debug Validators information.
|
@@ -162,6 +166,31 @@ private function getPropertyData(ClassMetadataInterface $classMetadata, string $
|
162 | 166 |
|
163 | 167 | $propertyMetadata = $classMetadata->getPropertyMetadata($constrainedProperty);
|
164 | 168 | foreach ($propertyMetadata as $metadata) {
|
| 169 | + $autoMapingStrategy = 'Not supported'; |
| 170 | + if ($metadata instanceof GenericMetadata) { |
| 171 | + switch ($metadata->getAutoMappingStrategy()) { |
| 172 | + case AutoMappingStrategy::ENABLED: $autoMapingStrategy = 'Enabled'; break; |
| 173 | + case AutoMappingStrategy::DISABLED: $autoMapingStrategy = 'Disabled'; break; |
| 174 | + case AutoMappingStrategy::NONE: $autoMapingStrategy = 'None'; break; |
| 175 | + } |
| 176 | + } |
| 177 | + $traversalStrategy = 'None'; |
| 178 | + if (TraversalStrategy::TRAVERSE === $metadata->getTraversalStrategy()) { |
| 179 | + $traversalStrategy = 'Traverse'; |
| 180 | + } |
| 181 | + if (TraversalStrategy::IMPLICIT === $metadata->getTraversalStrategy()) { |
| 182 | + $traversalStrategy = 'Implicit'; |
| 183 | + } |
| 184 | + |
| 185 | + $data[] = [ |
| 186 | + 'class' => 'property options', |
| 187 | + 'groups' => [], |
| 188 | + 'options' => [ |
| 189 | + 'cascadeStrategy' => CascadingStrategy::CASCADE === $metadata->getCascadingStrategy() ? 'Cascade' : 'None', |
| 190 | + 'autoMappingStrategy' => $autoMapingStrategy, |
| 191 | + 'traversalStrategy' => $traversalStrategy, |
| 192 | + ], |
| 193 | + ]; |
165 | 194 | foreach ($metadata->getConstraints() as $constraint) {
|
166 | 195 | $data[] = [
|
167 | 196 | 'class' => $constraint::class,
|
|
0 commit comments