5.8. 收藏商品

收藏商品

收藏商品是电商网站一个常用的功能,本章节要实现收藏商品的基本功能。

1. 数据库结构

收藏商品本质上是用户和商品的多对多关联,因此不需要创建新的模型,只需要增加一个中间表即可:

$ php artisan make:migration create_user_favorite_products_table --create=user_favorite_products

注意:中间表命名,要越直白越好,名字长点也无所谓。一个简单的判断命名是否合格的方法是 —— 想象自己半年一年以后是否能快速地从数据库表名得知此表的功能。

database/migrations/< your_date >_create_user_favorite_products_table.php

.
.
.
    public function up()
    {
        Schema::create('user_favorite_products', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $t...

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

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 22

doderic
未登录用户收藏操作执行失败后跳转至用户登录页面
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
wangbd
收藏和取消收藏的接口可以合并为一个接口
2 个点赞 | 2 个回复 | 分享 | 课程版本 5.5
Marke
收藏列表里已下架的商品是否也要做处理?
2 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
sunny_whl
5.8. 收藏商品 点击收藏是提示请求的 CSRF token 验证不通过
0 个点赞 | 11 个回复 | 问答 | 课程版本 5.8
Kaven
请问这个收藏没有效果是为什么?
0 个点赞 | 10 个回复 | 问答 | 课程版本 5.5
Eangel
Uncaught (in promise) ReferenceError: swal is not defined
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
gyp719
detach 商品的时候 怎么 去指定条件?
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.8
深入浅出
请教下不登录的情况下收藏商品端的报错问题
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.8
laravel_zyp
Trying to get property 'email_verified' of non-object
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
andy_ww
Please provide a valid cache path.
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
ArLon
取消收藏报错
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
jury09
Neymar
判断当前用户是否收藏当前商品的问题
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
lhbasura
请求完以后 dom 操作比较好吧,感觉没必要刷新页面
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.7
夏天
老师,我点收藏按钮显示 500 错误
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
hehorange
收藏时需要判断邮箱验证
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
long2ge
收藏商品的中间表好像没必要放自动增长的 ID 列吧?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5