我正在建立一个电子商务网站。 我有产品和订单型号。 客户订购产品然后管理员可能会更改其价格 或客户实际获得之前的其他领域。
可能的解决方案是在产品型号中添加“版本”字段。 当管理员更新产品字段时,我将添加时间戳并创建新对象 而不是更新旧的。 订单将引用特定产品版本。
这有意义吗? 覆盖Product Save方法是否足以使其有效?
由于
答案 0 :(得分:1)
我是这样做的:
复制订单表中的相关产品列。
当您向订单添加产品时,复制从产品到订单的所有内容(如果需要,也包括FK)。这样管理员可以做任何他们想做的事情(更改产品名称/价格/类别/等),但产品价格/名称/等将始终保持不变。
你可以按照你的建议在产品中做一个版本列,但这要复杂得多。