这就是我的收藏品现在的样子。
[{"id":"1","quantity":1},{"id":"2","quantity":1}]
我可以做些什么来匹配id
并将quantity
更改为2.这适用于购物车。
因此,如果我们在购物车中找到了一件物品,那么最终会是这样的。
[{"id":"1","quantity":2},{"id":"2","quantity":1}]
答案 0 :(得分:1)
您可以使用集合的transform
方法。它迭代集合中的项目,允许您更改值。
假设您的对象集合存储在$someCollection
中。你可以这样做:
$someCollection->transform(function ($item, $key) use ($id) {
if ($item->id == $id) {
$item->quantity++;
}
return $item;
});
对于具有您在$ id
中传递的ID的项目,这会增加一个数量答案 1 :(得分:0)
在购物车集合上使用here。
$id = 1;
$cart->transform(function ($item) use ($id) {
if ($item['id'] == $id) {
$item['q']++;
}
return $item;
});