产品、变体和库存——设计数据库的最佳方式是什么?

3

这是一家T恤商店,我有以下几种变体:

例如:

T恤1 - 可用颜色:红色、蓝色、白色 | 可用尺码:S、M、L

T恤2 - 可用颜色:绿色、白色 | 可用尺码:S、M、L、XL

以此类推...

我不想使用Eav模型。我正在努力解决库存问题!

这是我的表:

产品:

products:
 ------------------
|  id  |    name   |
 ------------------
|  1   |  t-shirt  | 
 ------------------

options:
 ------------------------------
|  id  |  product_id  |  name  |
 ------------------------------
|  1   |      1       |  size  |
 ------------------------------
|  2   |      1       |  color |
 ----------------------------

option_values:
 ---------------------------------------------
|  id  |  product_id  |  option_id  |  name  |
---------------------------------------------
|  1   |      1       |      1       |  L |
---------------------------------------------
|  2   |      1       |      1       |  M |
----------------------------------------------
|  3   |      1       |      2       |  red |
---------------------------------------------
|  4   |      1       |      2       |  blue |
----------------------------------------------

如何追踪每个变量的库存。我解决不了这个问题!

还有一个问题:

我正在使用laravel 4.2,插入这些值的正确方式是什么?

我应该从管理员面板创建产品,

填写所有空白,如名称、价格、变体等等。

如何通过提交按钮将这些所有数据插入到不同的表中?

我应该为每个变量创建查询吗?


嘿,马特是完全正确的 - 父产品代表产品及其一般细节,子产品是具有独特SKU、价格和库存(最终还包括UPC或EAN代码)的可购买物品。 - cartalot
1个回答

1
每种颜色/尺码可以作为单独的“子产品”出现在产品表中,然后有一个t恤的父项,而不是有3个单独的表。这样可以让您分别管理库存并为每个选项设置单独的价格。
一种可能的做法?
---------------------------------------------------------------
|    sku    |        name       |  qty  | price |   parent    |
---------------------------------------------------------------
|   TS001   |      t-shirt 1    |   1   | 25.00 |     0       |
---------------------------------------------------------------
|  TS001-L  |  t-shirt 1 Large  |  100  | 26.00 |   TS001     |
---------------------------------------------------------------

实际上,我无法理解您的解决方案,是否有任何数据库架构? - Oğuz Çiçek
我已经添加了一个示例表格,但是它可能需要进行改进,做得比我做的更好。 - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接