【问题标题】:Database logic for online shop orders magament在线商店订单管理的数据库逻辑
【发布时间】:2018-08-06 13:29:06
【问题描述】:

我正在设计一个网络商店项目(使用 PHP Laravel 和 MySQL FYI),我必须创建生产系统背后的逻辑,如下所示:

-在我的数据库中, 我有 1 个 ORDER 表,其中包含有关运输、客户等的所有信息。

  • 我有另一个名为 ITEM 的表,其中列出了订单中的所有项目(因此,如果订单有 3 个项目,则 ITEM 表中将有 3 行外键指向 ORDER)。

现在我正在创建 PRODUCTION DASHBOARD。现在,我可以扫描项目 ID 并在仪表板上获取货件信息。 之后,对于包含多个项目的订单,我想要做的是让系统告诉用户将项目存入一个编号的盒子中,以等待订单中的其余项目。这样,用户可以继续扫描其他订单中的商品,一旦生产了存储在 X box 中的订单中的另一个商品,他可以对其进行扫描,然后系统会告诉他同一订单中的其他商品已放置在 X box 上,并且他可以这样做,直到订单完成。

我的问题是实现这个 BOX 系统的最佳方式和逻辑数据库(如果你想进一步扩展你的答案,还有 Laravel 明智)。

我希望我的问题足够清楚,非常感谢你:)

【问题讨论】:

  • 为什么不把箱号作为订单号?
  • 因为这个想法是在生产中使用物理编号的盒子来存放不完整订单的物品。例如,我扫描订单号 1234 中的一个项目,由于订单尚未完成(其他项目尚未准备好),我将项目放入 Box Number 3。对于同一订单的下一个项目,我知道 Box Number 3 已用于存储订单项目。扫描完订单中的最后一件商品后,我会转到 3 号框以恢复属于该订单的所有商品并发货

标签: php mysql database laravel logic


【解决方案1】:

我正在从事的一个项目有一个类似的系统。我所做的是创建一个名为 temp_orders 的数据库表,其中包含一个名为 items 的列,每个项目由换行符分隔。在订单最终确定(100% 处理)之前,订单将保留在 temp_orders 中。

一旦完成,它将从 temp_orders 中删除并移至 orders 表。如果我需要检查项目,我会使用换行符从 temp_orders 表中的项目列中爆炸()数据,从而将它们放入一个数组中,然后使用我需要的数据。

您需要确定何时完成订单。例如,它可以在信用卡付款或用户订单确认时进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 2021-11-20
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2013-04-09
    相关资源
    最近更新 更多