添加一个名为 Colors 的表,并让它具有字段 ID、可行名称等。在产品中显示它支持的颜色的按位值。
是的,您将在 OrderProduct 表中拥有 Quantity。
这取决于他得到什么样的贴纸。贴纸是他可以选择的,还是他可以上传的?
如果您的客户需要能够自定义每个项目,那么您应该将每个项目作为单独的插入到 OrderProduct 表中,并且没有数量字段 - 一旦您这样做,只需引用贴纸 id 即可是预定义的或用户定义的。
回到颜色 - 就像我说的那样,如果您要能够自定义每个产品然后为每个产品创建一个新插入并删除一个数量列,然后只需将一个 ColorID 列添加到 OrderProduct 表中,您将在其中定义什么颜色或定制的特定产品将具有。
对评论的回应
应用程序需要知道每个项目的颜色,因此您可能在拥有黑色和红色显示器的同时拥有黑色和灰色键盘。位值就像一个标志系统,除了数字。可以说你有...
1 | Black
2 | Gray
3 | Red
如果一个产品可以有黑色和灰色,你会做黑色,灰色到 1,2。如果一个产品有黑色和红色,你会做黑色,红色到 1,3。按位值所做的只是将其转换为计算机可以更容易理解的值。
因此,要获得 Black & Gray 的按位值,请将 ID 平方并将其相加(bor)。一旦获得该值(即按位值),您就可以对其运行 band 以查看它是否具有该颜色。
这是一个非常好的 PHP 逐位教程,我建议阅读它以获取有关该主题的更多信息。