首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在购物车上使用laravel收集方法

在购物车上使用laravel收集方法
EN

Stack Overflow用户
提问于 2016-05-21 10:51:26
回答 2查看 61关注 0票数 0

这是我的收藏现在的样子。

代码语言:javascript
运行
复制
[{"id":"1","quantity":1},{"id":"2","quantity":1}]

我可以做什么来匹配id并将quantity更改为2。这是用于购物车的。

最后,如果我们发现购物车中已经有一件商品,那么它看起来就像这样。

代码语言:javascript
运行
复制
[{"id":"1","quantity":2},{"id":"2","quantity":1}]
EN

回答 2

Stack Overflow用户

发布于 2016-05-21 14:09:32

您可以使用集合的transform方法。它遍历集合中的项,允许您更改值。

假设您的对象集合存储在$someCollection中。你可以这样做:

代码语言:javascript
运行
复制
$someCollection->transform(function ($item, $key) use ($id) {
    if ($item->id == $id) {
       $item->quantity++;
    }
    return $item;
});

这将使具有您在$id中传递的id的项目的数量增加1

https://laravel.com/docs/5.2/collections#method-transform

票数 1
EN

Stack Overflow用户

发布于 2016-05-21 13:46:03

在购物车集合中使用transform

代码语言:javascript
运行
复制
$id = 1;
$cart->transform(function ($item) use ($id) {
    if ($item['id'] == $id) {
        $item['q']++;
    }
    return $item;
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37358396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档