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


Products , variants and stocks - what is the best way to design database

这是一家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插入这个值的真正方法是什么

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

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

如何使用提交按钮将这些数据插入到不同的表中

我应该对每个变体进行查询吗?

每种颜色/尺寸都可以是产品表中的一个单独的"子"产品,然后有一个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     |
---------------------------------------------------------------