Вы не можете напрямую изменить дочерний узел атрибута, поскольку он технически не существует в модели. Пролистайте несколько отметок в ссылке на документацию, которой вы поделились, и прочитайте о Аксессоры и мутаторы , либо просто определите свойство правильно.
Если вы не хотите автоматически приводить JSON к массиву, как указывал @Thomas Edwards, вы можете определить мутатор, который, по сути, делает то же самое, но вы можете изменить по своему усмотрению:
public function getCarAttribute($value)
{
return json_decode($value, true);
}
Затем добавьте ваши новые атрибуты в измененное поле:
$entity = Entity::find(1);
$car = $entity->car;
$car['model'] = 'Aicon';
$car['color'] = 'Blue';
$entity->car = $car;
$entity->save();