Php 订单状态和状态日志
我正在用PHP/MYSQL开发一个电子商务(在线购物)后端 我想知道处理订单状态和状态跟踪/日期的最佳方式 当用户下订单时,tbl_订单表上的订单状态将为1(Php 订单状态和状态日志,php,database,database-design,e-commerce,shopping-cart,Php,Database,Database Design,E Commerce,Shopping Cart,我正在用PHP/MYSQL开发一个电子商务(在线购物)后端 我想知道处理订单状态和状态跟踪/日期的最佳方式 当用户下订单时,tbl_订单表上的订单状态将为1(tbl_order.status=1)。这是最好的方式吗 以下是订单状态的编号: 1-新订单 2-待定 3-取消 4-已完成 当员工登录后端时,他们可以逐步更改订单状态 我想追踪是谁做的,时间,怎么做?这种方法在本质上没有什么问题。您是否有一个OrderStatus表,将数字存储在其含义旁边?我建议这样做,因为它将允许在未来以最小的麻烦
tbl_order.status=1
)。这是最好的方式吗
以下是订单状态的编号:
- 1-新订单
- 2-待定
- 3-取消
- 4-已完成
我想追踪是谁做的,时间,怎么做?这种方法在本质上没有什么问题。您是否有一个OrderStatus表,将数字存储在其含义旁边?我建议这样做,因为它将允许在未来以最小的麻烦添加不同的状态 关于跟踪更改和时间,您通常会有一个“LastUpdated”和“UserId”列,该列在每次修改订单时都会更新(可能使用存储过程来强制执行)。我会把它们放在tbl_订单表中,以便记录订单的任何更改
总的来说,我认为您走的是正确的道路。当前订单状态应该按照您的建议存储在订单表中 但对于跟踪更改,我建议使用一个单独的日志表,您可以在其中记录
时间戳
,订单id
,用户id
,旧状态
,新状态
。这样,您可以随时追溯完整的历史记录(与LastUpdate
concept相反)
这个概念可以推广到订单状态之外-任何字段值的更改都可以通过这种方式进行跟踪(尽管许多跟踪日志表的大小往往会快速增长)关于跟踪,我需要一个每个订单的跟踪列表。例如什么时间“待定”和谁分配的,然后什么时间“完成”和“谁”。你认为我应该订一张桌子吗?首先更新tbl_order.status,然后在order_日志中插入行?谢谢您的建议。是否需要旧的_状态字段?每个订单可能有4种状态,例如:新订单->确认->处理->完成(由员工一步一步),拥有它不会有任何伤害。尤其是在某个时候,流程中会出现异常情况(例如,订单已完成,但随后被取消(返回),或有人意外地将其标记为正在处理,需要将其重置,等等)