<?php namespace App\Models\Casts; use Illuminate\Contracts\Database\Eloquent\CastsAttributes; use Ramsey\Uuid\Uuid as UuidConvert; use Ramsey\Uuid\UuidInterface; class Uuid implements CastsAttributes { public function get($model, string $key, $value, array $attributes): ?UuidInterface { if ($value !== null && UuidConvert::isValid($value)) { return UuidConvert::fromString($value); } return null; } public function set($model, string $key, $value, array $attributes): ?string { return (string) $value; } }