在不知道要求的情况下,这会有点困难,因为您的问题非常广泛,而且我不确定架构是否正确。如果架构不正确,它会解释你为什么挣扎。
有些专栏对我来说不太有意义。例如,您有一个category_idon theproduct和 the size。然后你有一个price链接product和的表size,但是你需要一个size.category_id匹配的约束product.category_id吗?
了解了我对数据库和购物车的了解,这就是我编写模式的方式:
Categories
id
name
description
active
created
modified
Sizes
id
name
Products
id
name
description
price
active
offered
created
modified
Categories_Products
id
category_id
product_id
Products_Sizes
id
product_id
size_id
price
Toppings
id
name
description
price
active
created
modified
Categories_Toppings
id
category_id
toppings_id
Sizes_Toppings
id
size_id
topping_id
price
解释
- 初始
Product将有一个基本价格。
- 每个
Product都可以Categories通过 HABTM 关系与 N 相关联。
- 每个
Product都可以Sizes通过 HABTM 关系与 N 相关联。
- HABTM
Product_Size表将存储尺寸的价格调整。
- 初始
Topping将有一个基本价格。
- 每个
Topping都可以Categories通过 HABTM 关系与 N 相关联。
- 每个
Topping都可以Sizes通过 HABTM 关系与 N 相关联。
- HABTM
Size_Topping表将存储尺寸的价格调整。