[5.6] Fix BelongsToMany pivot relation wakeup #23081
Merged
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.
As described in issue #23068 when a model with a BelongsToMany relation is unserialized, the pivot relation fails to reload as it does not have an explicit relation method in the Model.
This PR tries to fix this issue by verifying if an explicit relation method exists before serializing that relation.
Some tests were changed to reflect this updates.
P.S.: I am not sure if this is the best approach, and if calling
getQueueableRelations
from the first model in a collection could lead to a circular reference problem when serializing.But as this issue is preventing me to migrate to Laravel 5.6 I tried to fix it in the most reasonable way. Any further help is appreciated.