2010-01-11 37 views
9

我有一個電子商務商店,我正在構建。我使用的是Rails/ActiveRecord,但這並不是必須回答這個問題(但是,如果您熟悉這些內容,請隨時以Rails/AR的方式回答)。在數據庫中清晰地表示電子商務產品和變體

之一店的要求是,它需要以代表兩種類型的產品:

  1. 簡單的產品 - 這些產品,只是有一個選項,比如樂隊的CD。它有一個基本的價格和數量。
  2. 變異產品 - 這些產品有多種選擇,如有3種尺寸和3種顏色的T恤。尺寸和顏色的每種組合都有自己的價格和數量。

我已經做了這樣的事情在過去,並做了以下內容:

  • 有一個產品表,這對產品(標題等)的主要信息。
  • 有一個變體表,它保存每種類型的變體的價格信息。 產品have_many變體
  • 對於簡單產品,他們只會有一個關聯的變體

有沒有更好的方法可以做到這一點?

回答

0

你的方式似乎非常靈活。這與我的第一次剪輯相似。

8

幾年前,我從事電子商務產品的工作,我們按照您所描述的方式完成了這項工作。但是我們增加了一個圖層來處理同一產品的多個屬性(大小和顏色,就像你說的)。我們分別跟蹤每個屬性,並且我們有一個「SKU」表列出了每個產品允許的每個屬性組合。事情是這樣的:

attr_id attr_name 
1   Size 
2   Color 

sku_id prod_id attr_id attr_val 
1   1   1   Small 
1   1   2   Blue 
2   1   1   Small 
2   1   2   Red 
3   1   1   Large 
3   1   2   Red 

後來,我們增加了庫存跟蹤和其他功能,而我們將其綁在SKU ID,這樣我們就可以分別跟蹤每一個。

+0

如果產品沒有任何屬性會怎麼樣? attr_id是否爲空?還是你確保每個產品至少有一個屬性? – 2012-06-01 23:01:44

+1

在這種情況下,該產品在SKU表中沒有任何行。 – 2012-06-12 15:24:00

+0

通配符怎麼樣?尺寸未定義的「小」的變體? – 2015-06-07 14:28:01

相關問題