ResolvesJsonApiElements
trait ResolvesJsonApiElements
Constants
| protected DEFAULT_MAX_RELATIONSHIP_DEPTH |
The default maximum relationship depth. |
Properties
| protected bool | $usesRequestQueryString | Determine whether resources respect sparse fieldsets from the request. |
|
| protected bool | $includesPreviouslyLoadedRelationships | Determine whether included relationship for the resource from eager loaded relationship. |
|
| protected null|array<int, string> | $requestedRelationships | The requested relationships for the resource. |
|
| null|JsonApiResource, 1: string, 2: string, 3: bool}> | $loadedRelationshipsMap | Cached loaded relationships map. |
|
| protected array | $loadedRelationshipIdentifiers | Cached loaded relationship identifiers. |
|
| static int | $maxRelationshipDepth | The maximum relationship depth. |
Methods
Specify the maximum relationship depth.
Resolve the resource's attributes.
Resolve relationships for the resource's data object.
Compile resource relations.
Get the requested relationships for this resource or one of its relationships.
Get the declared resolvers for the requested resource relationships.
Load requested relationships in batches before serializing their attributes.
Resolve included resources and preserve linkage when combining duplicate identities.
Merge relationship linkage without discarding descendants of duplicate resources.
Resolve the meta information for the resource.
Indicate that attributes should respect the request's sparse fieldsets.
Indicate that attributes should ignore the request's sparse fieldsets.
Indicate that relationship should include loaded relationships.
Details
at line 77
static void
maxRelationshipDepth(int $depth)
Specify the maximum relationship depth.
Boot-only. The depth limit persists in a static property for the worker lifetime and affects every subsequent JSON:API resource resolution.
at line 85
protected array
resolveResourceObject(JsonApiRequest $request)
Resolve data for the resource.
at line 108
string
resolveResourceIdentifier(JsonApiRequest $request)
Resolve the resource's identifier.
at line 132
string
resolveResourceType(JsonApiRequest $request)
Resolve the resource's type.
at line 160
protected array
resolveResourceAttributes(JsonApiRequest $request, string $resourceType)
Resolve the resource's attributes.
at line 188
protected array
resolveResourceRelationshipIdentifiers(JsonApiRequest $request)
Resolve relationships for the resource's data object.
at line 207
protected void
compileResourceRelationships(JsonApiRequest $request)
Compile resource relationships.
at line 238
protected Generator
compileResourceRelationshipUsingResolver(JsonApiRequest $request, mixed $resource, RelationResolver $relationResolver, Collection|Model|null $relatedModels)
Compile resource relations.
at line 326
protected array
requestedResourceRelationships(JsonApiRequest $request, string|null $relationName = null)
Get the requested relationships for this resource or one of its relationships.
at line 359
protected Collection
getResourceRelationships(JsonApiRequest $request)
Get the declared resolvers for the requested resource relationships.
at line 373
static void
prepareResourceRelationships(Collection $resources, JsonApiRequest $request)
| internal |
Load requested relationships in batches before serializing their attributes.
at line 425
Collection
resolveIncludedResourceObjects(JsonApiRequest $request)
Resolve included for the resource.
at line 489
static array
resolveIncludedResources(Collection $resources, JsonApiRequest $request)
| internal |
Resolve included resources and preserve linkage when combining duplicate identities.
at line 543
static protected void
mergeResourceRelationships(array $relationships, array $additional, array $identifiers)
Merge relationship linkage without discarding descendants of duplicate resources.
at line 597
protected array
resolveResourceLinks(JsonApiRequest $request)
Resolve the links for the resource.
at line 607
protected array
resolveResourceMetaInformation(JsonApiRequest $request)
Resolve the meta information for the resource.
at line 615
ResolvesJsonApiElements
respectFieldsAndIncludesInQueryString(bool $value = true)
Indicate that attributes should respect the request's sparse fieldsets.
at line 625
ResolvesJsonApiElements
ignoreFieldsAndIncludesInQueryString()
Indicate that attributes should ignore the request's sparse fieldsets.
at line 633
ResolvesJsonApiElements
includePreviouslyLoadedRelationships()
Indicate that relationship should include loaded relationships.