laravel電商學(xué)習(xí)系列-02 商品模塊-基礎(chǔ)

1. 前言

商品模塊是電商系統(tǒng)的核心茵臭。本章節(jié)簡(jiǎn)單介紹商品模塊的基礎(chǔ)部分,也就是L05教程中的第五章課程傳送門蠢古。
本模塊功能包括:

  • 商品
  • 收藏商品

2. 功能分析

2.1 商品

2.1.1 需求分析

本課程電商系統(tǒng)是B2C模式的京痢,商品管理需運(yùn)營(yíng)人員登錄后臺(tái)管理系統(tǒng)進(jìn)行新增荠呐、編輯竖独、上下架等操作裤唠。首先,我們先看一下商品詳情莹痢、商品列表种蘸、創(chuàng)建商品幾個(gè)操作頁(yè)面效果圖。通過觀察我們發(fā)現(xiàn)竞膳,同一商品的不同屬性之間庫(kù)存不同航瞭、價(jià)格也不同。這里就需要引入SKU的概念坦辟。

SKU = Stock Keeping Unit(庫(kù)存量單位)刊侯,也可以稱為『?jiǎn)纹贰弧?duì)一種商品而言锉走,當(dāng)其品牌滨彻、型號(hào)藕届、配置、等級(jí)疮绷、花色、包裝容量嚣潜、單位冬骚、生產(chǎn)日期、保質(zhì)期懂算、用途只冻、價(jià)格、產(chǎn)地等屬性中任一屬性與其他商品存在不同時(shí)计技,可稱為一個(gè)單品喜德。

商品詳情頁(yè)-效果圖
商品列表-效果圖
管理后臺(tái)創(chuàng)建商品-效果圖

2.1.2 表設(shè)計(jì)

一個(gè)商品可以有多個(gè)商品SKU,因此我們?cè)O(shè)計(jì)1:m的商品表和商品SKU表來保存商品信息垮媒。其中舍悯,商品表用于保存商品的通用屬性,比如商品名睡雇,總銷量萌衬,總評(píng)價(jià),控制商品是否上架等它抱;商品SKU表保存SKU的庫(kù)存秕豫,價(jià)格等SKU特有屬性。

# 商品表
CREATE TABLE `products` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT, # 自增ID
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, # 商品名稱
  `description` text COLLATE utf8mb4_unicode_ci NOT NULL, # 商品描述
  `image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, #商品封面圖片文件路徑
  `on_sale` tinyint(1) NOT NULL DEFAULT '1', # 商品是否上架
  `rating` double(8,2) NOT NULL DEFAULT '5.00', # 商品平均評(píng)分
  `sold_count` int(10) unsigned NOT NULL DEFAULT '0', # 商品總銷量
  `review_count` int(10) unsigned NOT NULL DEFAULT '0', # 商品總評(píng)價(jià)數(shù)量
  `price` decimal(10,2) NOT NULL, # 商品SKU的最低價(jià)格
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

# 商品SKU表
CREATE TABLE `product_skus` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT, # 自增ID
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, # SKU名稱
  `description` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, # SKU描述
  `price` decimal(10,2) NOT NULL, # SKU價(jià)格
  `stock` int(10) unsigned NOT NULL, # 庫(kù)存
  `product_id` int(10) unsigned NOT NULL, # 所屬商品ID
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `product_skus_product_id_foreign` (`product_id`),
  CONSTRAINT `product_skus_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

2.2 收藏商品

2.2.1 需求分析

  • 用戶可以收藏/取消收藏商品
  • 收藏的商品可以在收藏列表查看观蓄;

2.2.2 表設(shè)計(jì)

  • 實(shí)現(xiàn)邏輯
    商品收藏是用戶行為混移,收藏的是商品。一個(gè)用戶可以收藏多個(gè)商品侮穿,一個(gè)商品可以被多個(gè)用戶收藏歌径,是典型的m:n的模型關(guān)系,只需要新增一個(gè)中間表關(guān)聯(lián)用戶ID與商品ID亲茅,每當(dāng)用戶收藏/取消收藏商品時(shí)沮脖,添加/刪除一條中間表記錄即可。
  • 表結(jié)構(gòu)
CREATE TABLE `user_favorite_products` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT, # 自增ID
  `user_id` int(10) unsigned NOT NULL, # 用戶ID
  `product_id` int(10) unsigned NOT NULL, # 商品ID
  `created_at` timestamp NULL DEFAULT NULL, # 創(chuàng)建時(shí)間
  `updated_at` timestamp NULL DEFAULT NULL, # 更新時(shí)間
  PRIMARY KEY (`id`),
  KEY `user_favorite_products_user_id_foreign` (`user_id`),
  KEY `user_favorite_products_product_id_foreign` (`product_id`),
  CONSTRAINT `user_favorite_products_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE,
  CONSTRAINT `user_favorite_products_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

上一節(jié):01 用戶模塊
下一節(jié):03 商品模塊-進(jìn)階 商品類目

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芯急,一起剝皮案震驚了整個(gè)濱河市勺届,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌娶耍,老刑警劉巖免姿,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異榕酒,居然都是意外死亡胚膊,警方通過查閱死者的電腦和手機(jī)故俐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來紊婉,“玉大人药版,你說我怎么就攤上這事∮骼纾” “怎么了槽片?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)肢础。 經(jīng)常有香客問我还栓,道長(zhǎng),這世上最難降的妖魔是什么传轰? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任剩盒,我火速辦了婚禮,結(jié)果婚禮上慨蛙,老公的妹妹穿的比我還像新娘辽聊。我一直安慰自己,他們只是感情好期贫,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布身隐。 她就那樣靜靜地躺著,像睡著了一般唯灵。 火紅的嫁衣襯著肌膚如雪贾铝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天埠帕,我揣著相機(jī)與錄音垢揩,去河邊找鬼。 笑死敛瓷,一個(gè)胖子當(dāng)著我的面吹牛叁巨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播呐籽,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼锋勺,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了狡蝶?” 一聲冷哼從身側(cè)響起庶橱,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贪惹,沒想到半個(gè)月后苏章,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年枫绅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泉孩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡并淋,死狀恐怖寓搬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情县耽,我是刑警寧澤句喷,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站酬诀,受9級(jí)特大地震影響脏嚷,放射性物質(zhì)發(fā)生泄漏骆撇。R本人自食惡果不足惜瞒御,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望神郊。 院中可真熱鬧肴裙,春花似錦、人聲如沸涌乳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夕晓。三九已至宛乃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蒸辆,已是汗流浹背征炼。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躬贡,地道東北人谆奥。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拂玻,于是被迫代替她去往敵國(guó)和親酸些。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 每天進(jìn)步一點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)點(diǎn)~~從開始只能寫幾句話檐蚜、模仿別人的觀點(diǎn)魄懂,到現(xiàn)...
    一個(gè)帥氣的名字呀閱讀 18,062評(píng)論 4 31
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,934評(píng)論 6 13
  • 最近在負(fù)責(zé)電商后臺(tái)的商品模塊改造以及新增倉(cāng)儲(chǔ)物流功能,將工作內(nèi)容梳理總結(jié)了一下闯第,第一篇文章梳理改造的商品管理模塊逢渔,...
    野馬王一點(diǎn)閱讀 2,762評(píng)論 0 16
  • 每天逛淘寶和京東的時(shí)候,映入眼簾的都是品類繁多的商品乡括,但是當(dāng)我們選擇分類或者直接搜索的時(shí)候肃廓,按條件篩選時(shí)智厌,系統(tǒng)卻往...
    自媒體_鄭在別處閱讀 16,684評(píng)論 2 77
  • 一、整體流程圖 結(jié)構(gòu)圖image 二盲赊、購(gòu)物車需求 1.1铣鹏、購(gòu)物車中的物品可以修改數(shù)量1.2、購(gòu)物車中的物品可以選擇...
    唯老閱讀 3,250評(píng)論 0 8