Ich habe eine Orders
Tabelle und eine Products
Tabelle, meine Beziehung zwischen diesen ist als belongsToMany
Beziehung eingerichtet, die gut funktioniert.Laravel update mehrere der gleichen gehörenToMany Beziehung
Eine Bestellung kann jedoch mehrmals das gleiche Produkt haben (falls sie mehr bestellen möchten und der Administrator einen Rabatt anbieten kann).
Zum Beispiel:
Order 1 has
Product 1 x 5 (£1 each = £5 total)
Product 1 x 2 (£0.75 each = £1.50 total)
Wie kann ich eine einzelne Zeile aktualisieren? Ich habe folgendes versucht, aber diese aktualisiert alle Zeilen, wie es nur die Produkt-ID akzeptiert:
$order->products()->updateExistingPivot($productID, $values);
Ich habe auch die folgende versucht, aber die wherePivot
scheint nicht zu viel Kraft, wenn die update
Aufruf Verfahren wie alle Zeilen für dieses Produkt sind
$pivotProduct = $order->products()->wherePivot('id', $pivotId)->first();
$pivotProduct->pivot->price = '0.75';
$pivotProduct->pivot->update();