Удалить атрибут price
из $fillable
и использовать forceCreate()
для создания записи:
$product = Product::forceCreate([
// ...
'price' => 10.50,
];
Это позволит вам установить значение при создании, но при обновлении модели через $product->fill()
цена не изменится, потому что она не заполняется.Вы всегда можете изменить значение цены, опуская массовое назначение:
$product->price = 11.50;
$product->save();