protected $casts = [
'properties' => 'object'
];$user = User::find(1);
$user->properties->role = 'admin';
$user->save();$user->properties это magic __get, который возвращает новый объект, поэтому его изменения не затронут саму модель.$user = User::find(1);
$temp = $user->properties;
$temp->role = 'admin';
$user->properties = $temp;
$user->save();