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

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

file

商品类目

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

1. 整理字段

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

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

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

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

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

18874127314
老师,数据库设计使用外键和业务代码控制外键关联怎么取舍
2 个点赞 | 5 个回复 | 问答 | 课程版本 5.7
Flourishing
老师,问个题外问题.
1 个点赞 | 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
____
如果想要实现无限级分类加自定义排序该怎么做
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8