Fix for included collection with numeric keys #14
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.
When using the Resource Collection, if you have a relationship that is a
HasOne
orBelongsTo
, and the keys are numeric, the flattened include map has keys associated with it.This only happens with numeric keys, and does not happen when the keys are strings (as in all test cases)
Example: User -> HasOne? -> License
Without
values()
called, you'll end up with a keyed included response:This can be solved by getting only the
values()
from the collection.You'll see that this does not occur when making a single resource, because
values
is already called on theincluded
method:https://github.com/timacdonald/json-api/blob/main/src/JsonApiResource.php#L170
json-api/src/Concerns/Relationships.php
Line 55 in c3f89ee