0

嗨,我想就如何为我当前的 Laravel 项目设计有效的表结构征求您的意见和建议。该项目是带有库存的 POS。在您的帮助下,我已经完成了角色、用户管理等其他次要部分。我现在处于创建采购订单和发票系统的项目的核心。我是创建/设计数据库表的新手,因为我的大部分作品都只是 wordpress 开发。

我担心如果我把表格结构弄乱了,我可能会浪费很多时间,这就是我决定征求你的建议的原因。

这是物品的流程,

库存/物品只能由 WAREHOUSE 1 通过采购订单接收。然后 WAREHOUSE 1 将库存转移到 WAREHOUSE 2 进行销售。所以发票将只查看仓库 2 中的库存/物品。

我老板的预期报告是:

每个仓库的剩余产品,例如

产品 | 仓库 1 | 仓库2
瓶| 300 | 200 个
标签 | 150 | 0


剩余库存产品清单

产品编号|产品名称|供应商名称|类别|剩余库存|动作

单击历史记录(将在操作中定位)后,将出现产品跟踪记录。

产品跟踪报告如

供应商 | 客户 | 进货|缺货| PO/Inv 编号

For purchasing and invoicing I am planning to put them in single table;
po_invc_num (P.O or invoice #)</br>
rcv_by_warehouse (either 1 or 2)</br>
rcv_by_user</br>
prod_code</br>
sup_cust_id (supplier and customer’s ID. I already have table and I already have CRUD for this)</br>
quantity</br>
tot_amnt</br>
notes</br>

我已经有我的产品表和为此工作的 CRUD:

id</br>
product_code</br>
name</br>
categories_id</br>
wh1_limit_warning</br>
wh2_limit_warning</br>
price</br>
selling_price</br>
user_id</br>
created_at</br>

这让我很困惑我将如何实现这部分

Products | warehouse 1 | warehouse 2
Bottles | 300 | 200
Labels | 150 | 0

和其他报告只收到采购订单

任何建议和意见将不胜感激。先感谢您!

4

1 回答 1

2

设计数据库可能是主观的。但是您可以遵循一些规则:

  1. 规范化您的表,以便每个实体代表一个特定的域模型。例如,对于订单,您有产品详细信息、数量和订单地址等。将这些完全放在一个表中并不是一个好习惯。你可以有:
  2. 包含所有产品详细信息的产品表
  3. 带有客户详细信息的客户表
  4. 具有 customer_id 参考的地址表以了解哪个地址属于哪个客户
  5. 带有订单详细信息的订单表和使用 customer_id 对客户的引用,使用 address_id 的帐单/送货地址的地址
  6. Order_Items 表以显示特定订单中的哪些产品。所以你可以使用product_id来引用产品,order_id来引用订单,数量价格

请注意,这只是关于如何为简单订单设计可扩展且有效的规范化结构的想法。然后它还取决于您如何有效地查询数据以及如何索引以确定优化级别。

同样,如果您想避免对此进行头脑风暴,可以使用 laravel 电子商务的软件包。

还有一些你可以在 packagist 或 github 上找到

于 2019-02-13T12:06:37.970 回答