如何在商店中记录折扣?

时间:2016-05-04 07:11:23

标签: php mysql database

我现在已经考虑了一段时间,但我仍然不确定这是最好的方法。

基本上,在我的网上商店,我有一个order表:

+------+-------+---------+-------------+----------------+--------------+--------+
|  id  | name  |  email  | grand-total | shipping-costs |   address    | status |
+------+-------+---------+-------------+----------------+--------------+--------+
| 4312 | Roger | r@g.com | 5.99        |              1 | 22 Road Lane |      1 |
+------+-------+---------+-------------+----------------+--------------+--------+

与该表相关联的是cart表:

+-----+---------+-----------+---------------+-------+----------+--------+
| id  | orderID | productID |     name      | price | quantity | status |
+-----+---------+-----------+---------------+-------+----------+--------+
| 234 |    4312 | G55Sd     | Super Product | 5.99  |        1 |      1 |
+-----+---------+-----------+---------------+-------+----------+--------+

这一切都正常。但是,当我想开始添加折扣时问题就出现了。我希望能够查看过去的订单,并确切知道应用了哪些折扣,多少等等。但我不知道在哪里保存它。如果客户有多个折扣怎么办?我无法在orders表格中添加另一列以获取折扣或折扣金额,因为这对我未来的查看工作毫无帮助。

我想也许我可以在cart表中为该订单添加一行,并将其应用为产品,只需减去一定数量。我可以提出一些建议。

1 个答案:

答案 0 :(得分:1)

小心不要过度标准化。磁盘很便宜 - 我会考虑在订单表和购物车表中保留折扣详情。业务逻辑可能是每个产品都可能产生折扣,订单本身可能在产品折扣之上有折扣。