0
我有一個Orders
表和Products
表,我之間的關係設置爲belongsToMany
關係,這工作正常。Laravel更新多個相同belongsToMany關係
但是,訂單可以有多個相同的產品(如果他們想訂購更多,管理員可以提供折扣)。
例如:
Order 1 has
Product 1 x 5 (£1 each = £5 total)
Product 1 x 2 (£0.75 each = £1.50 total)
如何更新單行?我曾嘗試以下,但這個更新的所有行,因爲它僅接受產品ID:
$order->products()->updateExistingPivot($productID, $values);
我也曾嘗試以下,但wherePivot
似乎並沒有產生太大的影響調用update
時方法所有的行本產品的更新
$pivotProduct = $order->products()->wherePivot('id', $pivotId)->first();
$pivotProduct->pivot->price = '0.75';
$pivotProduct->pivot->update();