abstract class AbstractDataEloquentCast

Constants

protected DEFAULT_STORED_VALUE

Properties

protected DataConfig $dataConfig
protected DataClassRepository $dataClasses
protected DataTransformer $dataTransformer

Methods

__construct(string $dataClass, array $arguments = [])

Create a shared data Eloquent cast.

bool
compare(Model $model, string $key, mixed $firstValue, mixed $secondValue)

Compare two stored data representations.

bool
isAbstractClassCast()

Determine if the stored value uses an abstract-class envelope.

resolveMorphedData(Model $model, string $key, array $payload)

Resolve data from a strict abstract-class envelope.

array
createMorphEnvelope(BaseData&TransformableData $data, array $payload)

Wrap transformed data in its enforced abstract-class envelope.

bool
isEncrypted()

Determine if the stored value is encrypted.

array|null
decode(Model $model, string $key, mixed $value)

Decode one stored representation through Eloquent's JSON codec.

Details

at line 37
__construct(string $dataClass, array $arguments = [])

Create a shared data Eloquent cast.

Parameters

string $dataClass
array $arguments

at line 54
bool compare(Model $model, string $key, mixed $firstValue, mixed $secondValue)

Compare two stored data representations.

Parameters

Model $model
string $key
mixed $firstValue
mixed $secondValue

Return Value

bool

at line 73
protected bool isAbstractClassCast()

Determine if the stored value uses an abstract-class envelope.

Return Value

bool

at line 86
protected BaseData resolveMorphedData(Model $model, string $key, array $payload)

Resolve data from a strict abstract-class envelope.

Parameters

Model $model
string $key
array $payload

Return Value

BaseData

at line 121
protected array createMorphEnvelope(BaseData&TransformableData $data, array $payload)

Wrap transformed data in its enforced abstract-class envelope.

Parameters

BaseData&TransformableData $data
array $payload

Return Value

array

at line 138
protected bool isEncrypted()

Determine if the stored value is encrypted.

Return Value

bool

at line 148
protected array|null decode(Model $model, string $key, mixed $value)

Decode one stored representation through Eloquent's JSON codec.

Parameters

Model $model
string $key
mixed $value

Return Value

array|null