Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
[Form] Keep submitted values whenkeep_as_list option of collection type is enabled#59910
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
[Form] Keep submitted values whenkeep_as_list option of collection type is enabled#59910
Uh oh!
There was an error while loading.Please reload this page.
Conversation
carsonbot commentedMar 4, 2025
Hey! I see that this is your first PR. That is great! Welcome! Symfony has acontribution guide which I suggest you to read. In short:
Review the GitHub status checks of your pull request and try to solve the reported issues. If some tests are failing, try to see if they are failing because of this change. When two Symfony core team members approve this change, it will be merged and you will become an official Symfony contributor! I am going to sit back now and wait for the reviews. Cheers! Carsonbot |
keep_as_list option of collection type is enabled2dde5d2 to4619258Comparekells64000 commentedMar 11, 2025
kells64000 commentedJun 10, 2025
@xabbuh Does this sound good to you? |
…eCat)This PR was merged into the 7.2 branch.Discussion----------[Form] Fix `keep_as_list` when data is not an array| Q | A| ------------- | ---| Branch? | 7.2| Bug fix? | yes| New feature? | no| Deprecations? | no| Issues | Fix part of#57430| License | MITThe `CollectionType` handles not only arrays but also `ArrayAccess&Traversable`. However when setting its `keep_as_list` option, `array_values` would then be called and crash.To avoid this, this PR reindexes the data by getting its keys and unsetting them. This is because unsetting in a loop can produce counter-intuitive results; e.g. [`ArrayIterator` would skip indexes](https://www.php.net/manual/en/arrayiterator.offsetunset.php).Note that#57430 mentions another issue that would be fixed by#59910.Commits-------6c964e7 [Form] Fix `keep_as_list` when data is not an array
e1c2d57 to78214dcCompare…ype is enabledCo-authored-by: mariecharles marie.charles@hetic.net
78214dc tobac56deComparexabbuh commentedJun 11, 2025
Thank you@kells64000. |
ac794a7 intosymfony:7.2Uh oh!
There was an error while loading.Please reload this page.
When the
keep_as_listoption ofCollectionTypeis true, its entries lose their values when re-displaying the form with submitted data.This fix only concerns the 2nd point of thelinked issue.