$product_model = product::findOrFail($product['product_id']);
$product_model->variations['variations'][$product['variation_index']]['quantity'] += 1;
$product_model->save();
$product_model = product::findOrFail($product['product_id']);
$product_model->variations['variations'][$product['variation_index']]['quantity'] += 1;
$product_model->save();
When you cast a field to array, you must store it in a new variable like this:
$product_model = product::findOrFail($product['product_id']);
$variations = $product_model->variations;
$variations['variations'][$product['variation_index']]['quantity'] += 1;
$product_model->variations = $variations;
$product_model->save();
Or you can do what you want if you have laravel 9