Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.6k
Fix indexBy type extraction#20051
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
The travis build failed because of an issue with the LDAP test ( |
ksom commentedSep 25, 2016 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@lemoinem Thanks for mentioning me :) |
Thank you@lemoinem. |
This PR was merged into the 2.8 branch.Discussion----------Fix indexBy type extraction| Q | A| ------------- | ---| Branch? | 2.8+| Bug fix? | yes| New feature? | no| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets | N/A| License | MIT| Doc PR | N/ABug found and patched by@ksomSince3008228, the Doctrine Bridge's PropertyInfo Extractor tries to extract the type of the key in an indexed association. However, as you can see in3008228#diff-7a8fb8072d57f95ea6e37898b05895bcR91, the extractor was using the metadata of the class containing the association instead of the target entity's metadata to retrieve the type of the index.The tests were green because in3008228#diff-c7e914ed89ceffd939733efe08c039c2R44, the property used to `indexBy` was present in the classes on both sides of the relation with the same type.Once the test is fixed (by renaming the property in the targetEntity), the test provided at3008228#diff-1b2e044d1df011c00caf802a07895bdbR88 gives the error 1) Symfony\Bridge\Doctrine\PropertyInfo\Tests\DoctrineExtractorTest::testExtract with data set#9 ('indexedBar', array(Symfony\Component\PropertyInfo\Type Object (...))) InvalidArgumentException: "" is not a valid PHP type.The fix is to fetch the metadata of the target entity and check there for the property type.Commits-------138c6e3 Fix indexBy type extraction
Oops! Thanks for catching this. 👍 |
Uh oh!
There was an error while loading.Please reload this page.
Bug found and patched by@ksom
Since3008228, the Doctrine Bridge's PropertyInfo Extractor tries to extract the type of the key in an indexed association. However, as you can see in3008228#diff-7a8fb8072d57f95ea6e37898b05895bcR91, the extractor was using the metadata of the class containing the association instead of the target entity's metadata to retrieve the type of the index.
The tests were green because in3008228#diff-c7e914ed89ceffd939733efe08c039c2R44, the property used to
indexBy
was present in the classes on both sides of the relation with the same type.Once the test is fixed (by renaming the property in the targetEntity), the test provided at3008228#diff-1b2e044d1df011c00caf802a07895bdbR88 gives the error
The fix is to fetch the metadata of the target entity and check there for the property type.