Failing test for setFetchMode(EAGER) that breaks the loaded collection when custom PK type is used#12130
Open
janedbal wants to merge 1 commit intodoctrine:3.6.xfrom
Open
Conversation
setFetchMode breaks fetched collections when custom types are used for primary keys. The collection loads 0 items instead of the expected count and marks itself as initialized, making it appear empty. Additionally, a PHP Warning is raised from PDO: "Object of class CustomId could not be converted to int" This test demonstrates the issue by creating a Category entity with a wrapped integer primary key using a custom DBAL type. When using FETCH_EAGER mode, the children collection fails to load properly.
Contributor
Author
|
If you have a fix proposal, I can even fix the issue. So far, I believe we need to extract identifiers from those entities and use its |
Contributor
|
There hasn't been any activity on this pull request in the past 90 days, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 7 days. |
Contributor
Author
|
Still valid issue. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
setFetchModebreaks fetched collections when certain custom types are used for primary keys.Object of class CustomId could not be converted to intNote1: You can simulate the same issue even for string-backed PK types when its __toString() does not 100% match the database value (e.g. using md5 there).
Note2: Originally detected by our extensive testcases in shipmonk/doctrine-entity-preloader