2012-08-31 23 views
0

我在與設置每個屬性的存儲數據,使用im EAV模型的問題,下面是我的數據庫結構現貨庫存設置

products 
-------- 
id 
name 

product_attributes 
---------- 
id 
name 

product_attribute_values 
------------------ 
id 
product_id 
attribute_id 
value 

現在我的問題是如何存儲設置每個屬性的數據例如:

我出售t恤,t恤不同的是尺寸和顏色。

的T恤進來2色(白色和黑色)和3種尺寸(S,M,L)

我應該如何存儲數據來回設置這樣的..

white,s = 10unit 
white,m = 2unit 
white,l = 5unit 
black,s = 10unit 
black,m = 2unit 
black,l = 5unit 

螞蟻它不僅可用於T恤,它也可以用於其他產品,如鞋其中只有一個屬性(大小)

和幫助是非常apreciated

回答

0
**Products** 
id name 
1 t-shirt 

**product_attributes** 
id product_id name values 
1 1 size l 
2 1 size m 
3 1 size s 
4 1 color white 
5 1 color black 

**Stock** 
stock_id, Product_id Product_Attr_id1 Product_Attr_id2 Product_Attr_id3 Product_Attr_id4 Product_Attr_id5 Quantity 

1 1 4 3 10 
2 1 4 2 2 
3 1 4 1 5 
4 1 5 3 10 
5 1 5 2 2 
6 1 5 1 5 

**product_attribute_values** 
id product_id attribute_id value 
1 1 1 s 
2 1 1 m 
3 1 1 l 
4 1 2 white 
5 1 2 black 
+0

嗨,謝謝你的回答,這部分我已經解決了,我的問題是如何通過屬性集跟蹤庫存。例如 ;大小s,白色有10個單位..如何將其存儲在數據庫中?謝謝 –

+0

爲此,你需要改變數據庫結構。用你現有的數據庫strusture它不可能 – AnandPhadke

+0

我怎麼能這樣做?我應該創建另一個表來存儲數據嗎?我試過的是把屬性設置在數組中,然後序列化它然後存儲在數據庫中,這是一個好辦法嗎? –