<?php namespace App\Models\Casts; use Illuminate\Contracts\Database\Eloquent\CastsAttributes; use Illuminate\Database\Eloquent\Model; class UTF8StringOrNull implements CastsAttributes { /** * Cast the given value. * * @param array<string, mixed> $attributes */ public function get(Model $model,string $key,mixed $value,array $attributes): ?string { return $value ? utf8_decode($value) : NULL; } /** * Prepare the given value for storage. * * @param array<string, mixed> $attributes */ public function set(Model $model,string $key,mixed $value,array $attributes): ?string { return $value ? utf8_encode($value) : NULL; } }