JsonResource
class JsonResource implements ArrayAccess, JsonSerializable, Responsable, UrlRoutable (View source)
Traits
Properties
mixed | $resource | The resource instance. |
|
array | $with | The additional data that should be added to the top-level resource array. |
|
array | $additional | The additional meta data that should be added to the resource response. |
|
static string|null | $wrap | The "data" wrapper that should be applied. |
Methods
Filter the given data, removing any optional values.
Merge the given data in at the given index.
Remove the missing values from the filtered data.
Retrieve a value based on a given condition.
Merge a value into the array.
Merge a value based on a given condition.
Merge the given attributes.
Retrieve an accessor when it has been appended.
Retrieve a relationship if it has been loaded.
Execute a callback if the given pivot table has been loaded.
Execute a callback if the given pivot table with a custom accessor has been loaded.
Transform the given value if it is present.
Forward a method call to the given object.
Forward a method call to the given object, returning $this if the forwarded call returned itself.
Throw a bad method call exception for the given method.
Retrieve the model for a bound value.
Retrieve the model for a bound value.
Set the value for a given offset.
Determine if an attribute exists on the resource.
Dynamically get properties from the underlying resource.
Dynamically pass method calls to the underlying resource.
Create a new resource instance.
Create a new resource instance.
Create a new anonymous resource collection.
Convert the model instance to JSON.
Add additional meta data to the resource response.
Get the JSON serialization options that should be applied to the resource response.
Set the string that should wrap the outer-most resource array.
Disable wrapping of the outer-most resource array.
Prepare the resource for JSON serialization.
Details
protected array
filter(array $data)
Filter the given data, removing any optional values.
protected array
mergeData(array $data, int $index, array $merge, bool $numericKeys)
Merge the given data in at the given index.
protected array
removeMissingValues(array $data)
Remove the missing values from the filtered data.
protected MissingValue|mixed
when(bool $condition, mixed $value, mixed $default = null)
Retrieve a value based on a given condition.
protected MergeValue|mixed
merge(mixed $value)
Merge a value into the array.
protected MergeValue|mixed
mergeWhen(bool $condition, mixed $value)
Merge a value based on a given condition.
protected MergeValue
attributes(array $attributes)
Merge the given attributes.
protected MissingValue|mixed
whenAppended(string $attribute, mixed $value = null, mixed $default = null)
Retrieve an accessor when it has been appended.
protected MissingValue|mixed
whenLoaded(string $relationship, mixed $value = null, mixed $default = null)
Retrieve a relationship if it has been loaded.
protected MissingValue|mixed
whenPivotLoaded(string $table, mixed $value, mixed $default = null)
Execute a callback if the given pivot table has been loaded.
protected MissingValue|mixed
whenPivotLoadedAs(string $accessor, string $table, mixed $value, mixed $default = null)
Execute a callback if the given pivot table with a custom accessor has been loaded.
protected mixed
transform(mixed $value, callable $callback, mixed $default = null)
Transform the given value if it is present.
protected mixed
forwardCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object.
protected mixed
forwardDecoratedCallTo(mixed $object, string $method, array $parameters)
Forward a method call to the given object, returning $this if the forwarded call returned itself.
static protected void
throwBadMethodCallException(string $method)
Throw a bad method call exception for the given method.
mixed
getRouteKey()
Get the value of the resource's route key.
string
getRouteKeyName()
Get the route key for the resource.
void
resolveRouteBinding(mixed $value, string|null $field = null)
Retrieve the model for a bound value.
void
resolveChildRouteBinding(string $childType, mixed $value, string|null $field = null)
Retrieve the model for a bound value.
bool
offsetExists(mixed $offset)
Determine if the given attribute exists.
mixed
offsetGet(mixed $offset)
Get the value for a given offset.
void
offsetSet(mixed $offset, mixed $value)
Set the value for a given offset.
void
offsetUnset(mixed $offset)
Unset the value for a given offset.
bool
__isset(string $key)
Determine if an attribute exists on the resource.
void
__unset(string $key)
Unset an attribute on the resource.
mixed
__get(string $key)
Dynamically get properties from the underlying resource.
mixed
__call(string $method, array $parameters)
Dynamically pass method calls to the underlying resource.
void
__construct(mixed $resource)
Create a new resource instance.
static JsonResource
make(mixed ...$parameters)
Create a new resource instance.
static AnonymousResourceCollection
collection(mixed $resource)
Create a new anonymous resource collection.
array
resolve(Request|null $request = null)
Resolve the resource to an array.
array|Arrayable|JsonSerializable
toArray(Request $request)
Transform the resource into an array.
string
toJson(int $options = 0)
Convert the model instance to JSON.
array
with(Request $request)
Get any additional data that should be returned with the resource array.
$this
additional(array $data)
Add additional meta data to the resource response.
int
jsonOptions()
Get the JSON serialization options that should be applied to the resource response.
void
withResponse(Request $request, JsonResponse $response)
Customize the response for a request.
static void
wrap(string $value)
Set the string that should wrap the outer-most resource array.
static void
withoutWrapping()
Disable wrapping of the outer-most resource array.
JsonResponse
response(Request|null $request = null)
Transform the resource into an HTTP response.
Response
toResponse(Request $request)
Create an HTTP response that represents the object.
array
jsonSerialize()
Prepare the resource for JSON serialization.