You can create custom casts to have Laravel automatically format your Eloquent model data. Here's an example that capitalises a user's name when it is retrieved or changed.
class CapitalizeWordsCast implements CastsAttributes{    public function get($model, string $key, $value, array $attributes)    {        return ucwords($value);    }     public function set($model, string $key, $value, array $attributes)    {        return ucwords($value);    }} class User extends Model{    protected $casts = [        'name'  => CapitalizeWordsCast::class,        'email' => 'string',    ];}
Tip given by @mattkingshott