From 138c6e37520673ddb31f357fd4f52ae07ca4caea Mon Sep 17 00:00:00 2001 From: Mathieu Lemoine Date: Sat, 24 Sep 2016 17:32:50 -0400 Subject: [PATCH] Fix indexBy type extraction --- src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php | 3 ++- .../Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php | 2 +- .../Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php b/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php index 5446887abf8b0..aba31792f99ee 100644 --- a/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php +++ b/src/Symfony/Bridge/Doctrine/PropertyInfo/DoctrineExtractor.php @@ -88,7 +88,8 @@ public function getTypes($class, $property, array $context = array()) if (isset($associationMapping['indexBy'])) { $indexProperty = $associationMapping['indexBy']; - $typeOfField = $metadata->getTypeOfField($indexProperty); + $subMetadata = $this->classMetadataFactory->getMetadataFor($associationMapping['targetEntity']); + $typeOfField = $subMetadata->getTypeOfField($indexProperty); $collectionKeyType = $this->getPhpType($typeOfField); } diff --git a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php index e6d9155704889..ad3b7b9227652 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php +++ b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineDummy.php @@ -41,7 +41,7 @@ class DoctrineDummy public $bar; /** - * @ManyToMany(targetEntity="DoctrineRelation", indexBy="guid") + * @ManyToMany(targetEntity="DoctrineRelation", indexBy="rguid") */ protected $indexedBar; diff --git a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php index 23f64d829e030..6e94e028faa7d 100644 --- a/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php +++ b/src/Symfony/Bridge/Doctrine/Tests/PropertyInfo/Fixtures/DoctrineRelation.php @@ -31,5 +31,5 @@ class DoctrineRelation /** * @Column(type="guid") */ - protected $guid; + protected $rguid; }