我正在开发PHP / MYSQL中的电子商务(在线购物)后端。
我想知道处理订单状态和状态跟踪/日期的最佳方式。
当用户下订单时,tbl_order表上的订单状态将为1(tbl_order.status = 1
)。这是最好的方式吗?
以下是订单状态编号:
当员工在后端登录时,他们可以逐步更改订单状态。
我想跟踪是谁完成的,以及时间,怎么办呢?
答案 0 :(得分:1)
当前订单状态应按照您的建议存储在订单表中。
但是为了跟踪更改,我建议使用单独的日志表,您可以在其中记录timestamp
,order_id
,user_id
,old_status
,new_status
。这样,您可以随时追溯完整历史记录(与LastUpdate
概念相反)。
这个概念可以在订单状态之外进行推广 - 可以通过这种方式跟踪任何字段值更改(尽管许多跟踪日志表的大小会迅速增加)
答案 1 :(得分:0)
这种方法没有任何基本错误。你有一个OrderStatus表来存储它们含义旁边的数字吗?我建议这样做,因为它将允许在将来添加不同的状态,而不用大惊小怪。
关于跟踪更改和时间 - 您通常会有一个“LastUpdated”和“UserId”列,每次修改订单时都会更新(可能使用存储过程来强制执行此操作)。我将这些放在tbl_order表中,以便记录对订单的任何更改。
总的来说,我认为你走的是正确的道路。