3.1. 商品类目数据库结构设计

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

file

商品类目

类目是电商系统必要的一个功能,可以将相似的商品聚合在一起,上面头图就是一个 京东商城分类 的例子。本章节我们将要实现 无限级商品类目 功能,可以帮助用户更加容易检索到自己需要的商品。

1. 整理字段

在开始之前,我们需要先整理好 categories 表的字段名称和类型:

字段名称 描述 类型 加索引缘由
id 自增长ID unsigned big int 主键
name 类目名称 varchar
parent_id 父类目ID unsigned big int, null 外键
is_directory 是否拥有子类目 tinyint
level 当前类目层级 unsigned int...

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

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 35

18874127314
老师,数据库设计使用外键和业务代码控制外键关联怎么取舍
2 个点赞 | 5 个回复 | 问答 | 课程版本 5.7
Flourishing
老师,问个题外问题.
2 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
aen233
SQLSTATE [HY000]: General error: 1215 Cannot add foreign key constraint
1 个点赞 | 3 个回复 | 分享 | 课程版本 5.7
xuelong
关于生成订单号的问题
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
18874127314
老师,数据库字段设计是不是得尽量 not null?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
_杭城浪子
商品类目数据库结构设计 具体例子
1 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
软删除与外键
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.7
ibucoin
status 使用 varchar 的考虑?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
gyp719
sprintf () 的作用
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.8
archy
数据库迁移报错!反复做了几遍还是一样。
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.8
虚妄
模型追加属性
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.7
Y9Huang
leo 老师,考虑到类目的修改,是不是应该监听 saving 事件?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
vasar
访问器疑问
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
vasar
parent 关联疑惑?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
chenggx
想问下,使用 like 查询不是也会很慢么
0 个点赞 | 2 个回复 | 问答 | 课程版本 7.x
MasterPoser
关于 parent 方法 方法模型关联自己 这一步有些疑问
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
xuelong
关于 nosql 在项目中的使用
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
HQY
请教一下老师,无限级分类和三级分销功能差不多吗?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
商品可属于多种层级应该如何设计?
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
xuelong
索引的疑问以及字段注释的建议
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
Jarvis42
crowdfunding_products 表无法添加外键约束
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
虚妄
关于 products、product_sku、categories 表的主键
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
虚妄
is_directory(是否拥有子类目)这个字段是出于什么考虑
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
hsy
张汉为
getValue () 函数是在哪定义的呢?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Flourishing
老师,分期付款中总本金指的啥?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Flourishing
老师,命名空间的问题
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
vasar
为什么说 bcmath 函数用起来很不方便?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
david19931217
购物车性能优化是不是也得介绍介绍?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
xinxinx
计算进度的访问器中,为什么金额要加attributes?
0 个点赞 | 0 个回复 | 问答 | 课程版本 8.x
____
如果想要实现无限级分类加自定义排序该怎么做
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8