AbstractDataEloquentCast
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
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.
Details
at line 37
__construct(string $dataClass, array $arguments = [])
Create a shared data Eloquent cast.
at line 54
bool
compare(Model $model, string $key, mixed $firstValue, mixed $secondValue)
Compare two stored data representations.
at line 73
protected bool
isAbstractClassCast()
Determine if the stored value uses an abstract-class envelope.
at line 86
protected BaseData
resolveMorphedData(Model $model, string $key, array $payload)
Resolve data from a strict abstract-class envelope.
at line 121
protected array
createMorphEnvelope(BaseData&TransformableData $data, array $payload)
Wrap transformed data in its enforced abstract-class envelope.
at line 138
protected bool
isEncrypted()
Determine if the stored value is encrypted.
at line 148
protected array|null
decode(Model $model, string $key, mixed $value)
Decode one stored representation through Eloquent's JSON codec.