laravel-shop电商

03 商品模块-进阶 商品类目

2019-08-04  本文已影响4人  阳光的小mi

1. 前言

前面总结了商品模块的基础课程,本节将总结L06课程中的商品模块进阶内容——商品类目。
课程传送门

2. 功能分析

商品按类目分类,实现面包屑导航。

2.1 需求分析

实现面包屑导航,商品可以按照类目划分/搜索。


面包屑导航-效果图

2.2 表设计

# 类目表
CREATE TABLE `categories` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT, # 自增ID
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, # 类目名称
  `parent_id` int(10) unsigned DEFAULT NULL, # 上级类目ID
  `is_directory` tinyint(1) NOT NULL, # 是否拥有下级类目
  `level` int(10) unsigned NOT NULL, # 当前类目层级
  `path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, # 当前类目所有上级类目id
  `created_at` timestamp NULL DEFAULT NULL, # 创建时间
  `updated_at` timestamp NULL DEFAULT NULL, # 更新时间
  PRIMARY KEY (`id`),
  KEY `categories_parent_id_foreign` (`parent_id`),
  CONSTRAINT `categories_parent_id_foreign` FOREIGN KEY (`parent_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

# 商品表
ALTER TABLE `products` ADD `category_id` int(10) unsigned DEFAULT NULL; # 所属类目ID
  1. 代码借鉴
    本章节的代码质量也是很赞,有很多巧用。

上一节:02 商品模块-基础
下一节:04 商品模块-进阶 众筹

上一篇下一篇

猜你喜欢

热点阅读