6.1. 添加商品到购物车

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

购物车

购物车是电商网站一个必备的功能,本章节要实现的功能是将商品添加到购物。

购物车的数据通常会保存到 Session 或者数据库。对于拥有多个端(网页、App)的电商网站来说为了保障用户体验会使用数据库来保存购物车中的数据,这样用户在网页端加入购物车的商品也能在 App 中看到。本项目虽然目前只有一个网页端,但这是一个实战项目,是有可能拓展出 APP、小程序等其他端,因此我们选择数据库来保存购物车的数据。

整理字段

我们把购物车中的数据存入 cart_items 表,表结构如下:

字段名称 描述 类型 加索引缘由
id 自增长ID unsigned int 主键
user_id 所属用户ID unsigned int 外键
product_sku_id 商品 SKU ID unsigned int 外键
amount 商品数量 unsigned int

1. 模型

接下来我们创建对应的模型:

...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 36

knife
库存不足的判断?
6 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
haahaha
function ($attribute, $value, $fail) 自定义表单验证
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
lvtian
403 解决方案
2 个点赞 | 2 个回复 | 分享 | 课程版本 5.8
_杭城浪子
邮箱验证前端没有考虑到这种情况
2 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
david19931217
购物车性能问题?
2 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
LunaNova
422报错,无法获得 sku_id ?
1 个点赞 | 6 个回复 | 问答 | 课程版本 8.x
vasar
function ($attribute, $value, $fail) 闭包验证写法有点看不懂?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Romolo
用户,购物车,SKU 之间的关系?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
_.each 没用过,所以使用了 jQuery 的方法实现
1 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
wangbd
新建购物车记录时没有数量?
0 个点赞 | 10 个回复 | 问答 | 课程版本 5.5
yueruitao
为什么我把 authorize 注释之后,报系统错误?
0 个点赞 | 9 个回复 | 问答 | 课程版本 5.5
米朵
403 错误是哪里出现问题?
0 个点赞 | 9 个回复 | 问答 | 课程版本 5.5
Unkn0wn
为何无法弹出 swal 提示框?
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
littledragoner
报 500 错误?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
sunny_whl
添加商品到购物车失败
0 个点赞 | 4 个回复 | 分享 | 课程版本 5.8
TigerLin
购物车创建外键约束出现了问题
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.8
Flourishing
验证规则
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
此时此刻
希望作者能够出一个 使用 vue 完成购物车 的分支代码
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
HQY
前端 422 代码不理解?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Neymar
请问 associate () 的作用是啥?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
hanghang
500 的错误?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
wansui
AddCartRequest 不需要 use Illuminate\Http\Request;的吗
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
hsy
function ($attribute, $value, $fail) $attribute 貌似没有用到?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
HugBoomsj
jQuery 的操作可以考虑全部替换成 vue 呢?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
DragonWPL
错误
0 个点赞 | 1 个回复 | 分享 | 课程版本 7.x
GuanJie
未登录加入购物车
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
abing
往购物车里提交的是 SKU 的 ID 问题 ?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
abing
这写法什么意思呢?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
vasar
闭包校验规则疑惑?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
goodgood
购物车数据表的设计?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Kaven
最后一个截图数据库应该是 cart_item?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
bestkyle
为什么要把购物车创建和修改时间去掉?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Bernard
报了 403 的错,解决后又报了 500?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
KayuHo
购物车问题?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5