Fix lazy field null handling and clone preservation#89
Merged
dereuromark merged 1 commit intomasterfrom Mar 23, 2026
Merged
Conversation
- Use array_key_exists() instead of isset() in method_get.twig template to correctly detect null values in lazy data (isset returns false for null) - Copy _lazyData in clone() method to preserve unhydrated lazy data - Add tests for clone with lazy data and null lazy values
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #89 +/- ##
=========================================
Coverage 83.46% 83.47%
Complexity 1386 1386
=========================================
Files 40 40
Lines 3345 3346 +1
=========================================
+ Hits 2792 2793 +1
Misses 553 553 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
Summary
array_key_exists()instead ofisset()inmethod_get.twigtemplate to correctly detect null values in lazy data (isset()returns false for null values, causing lazy null values to be ignored)_lazyDatainclone()method to preserve unhydrated lazy data when cloning DTOsIssues Found
1. Getter template uses
isset()for lazy data check2. clone() method doesn't copy
_lazyDataWhen cloning a DTO with unhydrated lazy fields, the lazy data was not preserved in the clone, causing the clone to lose access to that data.
Relates to #83