Indirect modification of overloaded property App\\Models\\product::$variations has no effect

Viewed 26
$product_model = product::findOrFail($product['product_id']);

$product_model->variations['variations'][$product['variation_index']]['quantity'] += 1;

$product_model->save();
1 Answers

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

Related