Я хочу отслеживать продукты на складе для каждого проданного. У меня есть Sale
и Product
таблицы, которые Many-to-Many
друг другу.
In Product Model
public function sales()
{
return $this->belongsToMany(\App\Sale::class)->withPivot('quantity', 'unit_price');
}
In Sale Model
public function products()
{
return $this->belongsToMany(\App\Product::class)->withPivot('quantity', 'unit_price');
}
In SaleController
public function update(Request $request, $id)
{
...
foreach($sale->products as $sale) {
$product = Product::find($sale->id);
$product->decrement('unit', $sale->pivot->quantity);
}
return response()->json(['updated' => true]);
}
Да, это работает, но, Проблема в том, что> Пример. У меня есть 10 товаров, когда добавляется продажа 2, товара остается 8, но когда я редактирую эту продажу на 1, товар на складе остается 7
Это не имеет смысла Единица продукта должна быть 8
, а не 7
.
Любая помощь? Спасибо