-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Form] Keep submitted values when keep_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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Form] Keep submitted values when keep_as_list
option of collection type is enabled
#59910
Conversation
Hey! I see that this is your first PR. That is great! Welcome! Symfony has a contribution 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 enabled
2dde5d2
to
4619258
Compare
@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 | MIT The `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
to
78214dc
Compare
…ype is enabled Co-authored-by: mariecharles marie.charles@hetic.net
78214dc
to
bac56de
Compare
Thank you @kells64000. |
When the
keep_as_list
option ofCollectionType
is true, its entries lose their values when re-displaying the form with submitted data.This fix only concerns the 2nd point of the linked issue.