這就是我的收藏現在的樣子。在購物車上使用laravel收集方法
[{"id":"1","quantity":1},{"id":"2","quantity":1}]
我能做些什麼,以配合id
和改變quantity
2。這是一個購物車。
所以最後它會看起來像這樣,如果我們發現一個項目已經在購物車。
[{"id":"1","quantity":2},{"id":"2","quantity":1}]
這就是我的收藏現在的樣子。在購物車上使用laravel收集方法
[{"id":"1","quantity":1},{"id":"2","quantity":1}]
我能做些什麼,以配合id
和改變quantity
2。這是一個購物車。
所以最後它會看起來像這樣,如果我們發現一個項目已經在購物車。
[{"id":"1","quantity":2},{"id":"2","quantity":1}]
在購物車集合上使用transform。
$id = 1;
$cart->transform(function ($item) use ($id) {
if ($item['id'] == $id) {
$item['q']++;
}
return $item;
});
您可以使用collection的transform
方法。它迭代集合中的項目,允許您更改值。
假設您的對象集合存儲在$someCollection
中。你可以這樣做:
$someCollection->transform(function ($item, $key) use ($id) {
if ($item->id == $id) {
$item->quantity++;
}
return $item;
});
這將增加一個數量與您在$ ID通過ID項目