我正在创建一个购物车,我正在尝试添加不同类型的产品,例如Mobiles
,clothes
等
我创建了一个add_to_cart
方法并将产品添加到会话中,然后我将所有产品保存到数据库表中。
但现在我很困惑如何添加不同的产品,因为不同产品的参数不同,例如。
1. product_id, quantity, price for mobile.
2. product_id, quantity, price, size for cloths.
....
我应该为不同类型的产品创建不同的add_to_cart()
方法。
答案 0 :(得分:0)
在您的方案中,最好将产品选项作为JSON字符串发送,然后在服务器端对其进行解码,这样您就不必担心每种产品的不同选项。
因此产品可能有以下选项:
{color: "black", size: "large"}
产品二可能有:
{memory: "2 GB", harddisk: "750 GB"}
等
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以继续使用 add_to_cart()
相反,你将添加一个数组参数,比如“attributes”或“extra”和 添加特定/唯一产品有价值的密钥。
然后在数据库中创建一个可变大小的“属性”列,例如。 VARCHAR(128) 并添加编码为 JSONs
的属性你仍然可以搜索任何产品然后使用“LIKE'%”属性“:%'”(json)
这并不会强制您为每个新产品属性创建其他列。
答案 3 :(得分:0)
您可以在规范数组中保留主数组和规范中的基本常见内容,如下所示 产品[mobile] =>数组(name =>'test1',price =>'20'规格=数组('color'=> red,model =>'N70'等....))
产品[cloths] =>数组(name =>'test1',price =>'30'规格=数组('size'=>'XL',color =>'yello'等......))