你的目标是成为一名自由职业者

微信登录

微信登录

因恶意注册过多,目前只支持微信模式
付费课程, 订阅后即可观看
正在播放:电商系统 2 - [后台系统] 进一步完善购物车添加商品 API 接口
发布于: 2020.03.18
标 题 时 间
电商系统 2 - 虽然有点抑郁,搞了一下心理建设之后继续出发吧 03:43
电商系统 2 - 购物车方案有很多,简单聊聊最常见的两种 02:43
电商系统 2 - 购物车模型的设计,看到没有购物车模型类的电商系统也不要惊讶 05:56
电商系统 2 - 初步实现向购物车添加商品的接口,错误层出并不可怕 12:46
电商系统 2 - [后台系统] 进一步完善购物车添加商品 API 接口 04:27
电商系统 2 - [后台系统] 实现清空购物车的接口 04:04
电商系统 2 - [后台系统] 实现用户购物车信息获取接口,返回核心逻辑信息 05:48
电商系统 2 - [Nuxt 客户端] 去年的坑今年填,三尺黄土足够葬我肉身 03:59
电商系统 2 - [Nuxt 客户端] 在导航栏显示购物车中商品品种的数量 07:45
电商系统 2 - [Nuxt 客户端] 创建购物车详情查看页面 08:06
电商系统 2 - [Nuxt 客户端] 实现修改产品购买数量的功能前的准备工作 04:31
电商系统 2 - [Nuxt 客户端] 购物车详情页面修改 vuex 中产品购买数量 05:19
电商系统 2 - [Nuxt 客户端] 购物车详情页面删除商品时修改 vuex 数据同步 03:48
电商系统 2 - [Nuxt 客户端] 通过产品页面添加商品到购物车时 vuex 数据同步 10:35
电商系统 2 - [前后协同] 如果你的逻辑推理能力不过关,你干多少年也只是在哄自己玩儿 12:45
电商系统 2 - [前后协同] 通过产品页面将商品添加到购物车时保证前后台数据一致性 05:17
电商系统 2 - [前后协同] 购物车页面单个商品总价的计算以及处理逻辑 07:37
电商系统 2 - [前后协同] 购物车页面所有商品总价的处理逻辑 04:58
电商系统 2 - [后台系统] 购物车收货地址的创建接口初步实现 10:00
电商系统 2 - [后台系统] 有了前面的准备,收货地址的获取接口的实现就会特别简单 03:22
电商系统 2 - [后台系统] 默认收货地址的后台实现逻辑需要进一步完善 02:08
电商系统 2 - [Nuxt客户端] 收货地址的显示区块的创建,初步实现显示样式 07:58
电商系统 2 - [前后端协同] 创建一个新的收货地址时的处理逻辑,我想吃麻辣小龙虾了 08:21
电商系统 2 - [前后端协同] 通过下拉选择框选定一个地址作为默认送货地址 06:51
电商系统 2 - [Nuxt 前端] 对较简单的逻辑和功能咱们就直接跳过,靠你自己了 03:25
电商系统 - [Nuxt 客户端] 修复登陆后购物车数据未更新的Bug 07:04
电商系统 - [前后端协同] 用户登出时的隐形逻辑非常值得重视 10:09
电商系统 - [后台系统] 对订单数据表进行基本的设计并完成数据关联 07:14
电商系统 - [后台开发] 进行版本控制时一些小的细节可以带来极大的便利 05:28
电商系统 - [Nuxt 客户端] 实用 Nuxt Middleware 对页面方式实施权限保护 09:56
lanny540 2020.08.31 16:56

视频后段更新购物车商品,特别是有减少商品的逻辑,我觉得复杂了一点。 既然都已经拿到了购物车中商品的ID数组,就可以直接去数据库判断并操作。

public function syncProducts($products)
{
    // 获取购物车中商品ID数组
    $variations = \Arr::pluck($products, ['product_variation_id']);

   //  查询并删除 不存在数组中记录
    CartItem::where('cart_id', $this-&gtid)
        -&gtwhereNotIn('product_variation_id', $variations)
        -&gtdelete();

    // 再更新或插入记录
    foreach ($products as $product) {
        $filter = [
            'product_variation_id' =&gt $product['product_variation_id']
        ];

        $this-&gtitems()-&gtupdateOrCreate($filter, $product);
    }
}
codinget 2020.08.31 17:02

这是不同的方式,我在视频里把商品添加和商品信息删减的操作都在一个接口中进行了实现。也可以分开设计多个接口,就像你想的那样,我比较懒,所以喜欢单一同步接口,后续涉及到库存检查的时候,也是在这一个接口中实现,免得每个分开的接口都需要进行相关的检查操作,做人懒成我这样,或许就是一种我作为人类退化的迹象吧。

标 题
找一条适合自己的路,坚持走下去
编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任