[12.x] Ensure automatic eager loading works in events #56193
+97
−1
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.
Still WIP as seems to clash with lazy loading violations
When automatic eager loading is enabled, it seems to break when used in observers or within model booted methods.
It sets the relation to null, even if there is a relation - meaning tests etc that used to pass, no longer pass.
I've added a test to prove it now works, if you remove the changes I've added in the Collection class it will then fail.
Adding what I have into
loadMissingRelationshipChain
seems safe enough imo, as it's only used when eager loading is enabled, and no other eager loading tests have been affected.Open to suggestions, but thought I'd give it a crack.