trait ResolvesJsonApiElements (View source)

Properties

protected $usesRequestQueryString

Determine whether resources respect inclusions and fields from the request.

protected $includesPreviouslyLoadedRelationships

Determine whether included relationship for the resource from eager loaded relationship.

$loadedRelationshipsMap

Cached loaded relationships map.

protected $loadedRelationshipIdentifiers

Cached loaded relationships identifers.

static $maxRelationshipDepth

The maximum relationship depth.

Methods

static void
maxRelationshipDepth(int $depth)

Specify the maximum relationship depth.

array
resolveResourceObject(JsonApiRequest $request)

Resolves data for the resource.

string
resolveResourceIdentifier(JsonApiRequest $request)

Resolve the resource's identifier.

string
resolveResourceType(JsonApiRequest $request)

Resolve the resource's type.

array
resolveResourceAttributes(JsonApiRequest $request, string $resourceType)

Resolve the resource's attributes.

array
resolveResourceRelationshipIdentifiers(JsonApiRequest $request)

Resolves relationships for the resource's data object.

void
compileResourceRelationships(JsonApiRequest $request)

Compile resource relationships.

compileResourceRelationshipUsingResolver(JsonApiRequest $request, mixed $resource, RelationResolver $relationResolver, Model|null $relatedModels)

Compile resource relations.

void
compileIncludedNestedRelationshipsMap(JsonApiRequest $request, Model $relation, JsonApiResource $resource)

Compile included relationships map.

resolveIncludedResourceObjects(JsonApiRequest $request)

Resolves included for the resource.

array
resolveResourceLinks(JsonApiRequest $request)

Resolve the links for the resource.

array
resolveResourceMetaInformation(JsonApiRequest $request)

Resolve the meta information for the resource.

$this
respectFieldsAndIncludesInQueryString(bool $value = true)

Indicate that relationship loading should respect the request's "includes" query string.

$this
ignoreFieldsAndIncludesInQueryString()

Indicate that relationship loading should not rely on the request's "includes" query string.

$this
includePreviouslyLoadedRelationships()

Determine relationship should include loaded relationships.

Details

static void maxRelationshipDepth(int $depth)

Specify the maximum relationship depth.

Parameters

int $depth

Return Value

void

protected array resolveResourceObject(JsonApiRequest $request)

Resolves data for the resource.

Parameters

JsonApiRequest $request

Return Value

array

string resolveResourceIdentifier(JsonApiRequest $request)

Resolve the resource's identifier.

Parameters

JsonApiRequest $request

Return Value

string

Exceptions

ResourceIdentificationException

string resolveResourceType(JsonApiRequest $request)

Resolve the resource's type.

Parameters

JsonApiRequest $request

Return Value

string

Exceptions

ResourceIdentificationException

protected array resolveResourceAttributes(JsonApiRequest $request, string $resourceType)

Resolve the resource's attributes.

Parameters

JsonApiRequest $request
string $resourceType

Return Value

array

Exceptions

RuntimeException

protected array resolveResourceRelationshipIdentifiers(JsonApiRequest $request)

Resolves relationships for the resource's data object.

Parameters

JsonApiRequest $request

Return Value

array

Exceptions

RuntimeException

protected void compileResourceRelationships(JsonApiRequest $request)

Compile resource relationships.

Parameters

JsonApiRequest $request

Return Value

void

protected Generator compileResourceRelationshipUsingResolver(JsonApiRequest $request, mixed $resource, RelationResolver $relationResolver, Model|null $relatedModels)

Compile resource relations.

Parameters

JsonApiRequest $request
mixed $resource
RelationResolver $relationResolver
Model|null $relatedModels

Return Value

Generator

protected void compileIncludedNestedRelationshipsMap(JsonApiRequest $request, Model $relation, JsonApiResource $resource)

Compile included relationships map.

Parameters

JsonApiRequest $request
Model $relation
JsonApiResource $resource

Return Value

void

Collection resolveIncludedResourceObjects(JsonApiRequest $request)

Resolves included for the resource.

Parameters

JsonApiRequest $request

Return Value

Collection

Resolve the links for the resource.

Parameters

JsonApiRequest $request

Return Value

array

protected array resolveResourceMetaInformation(JsonApiRequest $request)

Resolve the meta information for the resource.

Parameters

JsonApiRequest $request

Return Value

array

$this respectFieldsAndIncludesInQueryString(bool $value = true)

Indicate that relationship loading should respect the request's "includes" query string.

Parameters

bool $value

Return Value

$this

$this ignoreFieldsAndIncludesInQueryString()

Indicate that relationship loading should not rely on the request's "includes" query string.

Return Value

$this

$this includePreviouslyLoadedRelationships()

Determine relationship should include loaded relationships.

Return Value

$this