JsonResource
class JsonResource implements ArrayAccess, JsonSerializable, Responsable, UrlRoutable (View source)
Traits
Properties
static protected array | $macros | The registered string macros. |
from Macroable |
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 if the given "condition" is truthy.
Retrieve a value if the given "condition" is falsy.
Merge a value into the array.
Merge a value if the given condition is truthy.
Merge a value unless the given condition is truthy.
Merge the given attributes.
Retrieve an attribute if it exists on the resource.
Retrieve a model attribute if it is null.
Retrieve a model attribute if it is not null.
Retrieve an accessor when it has been appended.
Retrieve a relationship if it has been loaded.
Retrieve a relationship count if it exists.
Retrieve a relationship aggregated value if it exists.
Retrieve a relationship existence check if it exists.
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.
Determine if the resource has the specified pivot table loaded.
Determine if the resource has the specified pivot table loaded with a custom accessor.
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.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
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.
Create a new resource instance.
Create a new resource instance.
Create a new anonymous resource collection.
Create a new resource collection instance.
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 if the given "condition" is truthy.
MissingValue|mixed
unless(bool $condition, mixed $value, mixed $default = null)
Retrieve a value if the given "condition" is falsy.
protected MergeValue|mixed
merge(mixed $value)
Merge a value into the array.
protected MergeValue|mixed
mergeWhen(bool $condition, mixed $value, mixed $default = null)
Merge a value if the given condition is truthy.
protected MergeValue|mixed
mergeUnless(bool $condition, mixed $value, mixed $default = null)
Merge a value unless the given condition is truthy.
protected MergeValue
attributes(array $attributes)
Merge the given attributes.
MissingValue|mixed
whenHas(string $attribute, mixed $value = null, mixed $default = null)
Retrieve an attribute if it exists on the resource.
protected MissingValue|mixed
whenNull(mixed $value, mixed $default = null)
Retrieve a model attribute if it is null.
protected MissingValue|mixed
whenNotNull(mixed $value, mixed $default = null)
Retrieve a model attribute if it is not null.
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.
MissingValue|mixed
whenCounted(string $relationship, mixed $value = null, mixed $default = null)
Retrieve a relationship count if it exists.
MissingValue|mixed
whenAggregated(string $relationship, string $column, string $aggregate, mixed $value = null, mixed $default = null)
Retrieve a relationship aggregated value if it exists.
MissingValue|mixed
whenExistsLoaded(string $relationship, mixed $value = null, mixed $default = null)
Retrieve a relationship existence check if it exists.
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 bool
hasPivotLoaded(string $table)
Determine if the resource has the specified pivot table loaded.
protected bool
hasPivotLoadedAs(string $accessor, string $table)
Determine if the resource has the specified pivot table loaded with a custom accessor.
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.
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks if macro is registered.
static void
flushMacros()
Flush the existing macros.
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
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.
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.
static protected AnonymousResourceCollection
newCollection(mixed $resource)
Create a new resource collection instance.
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.