php - MySQL 数据库设计用于具有定价历史的产品租赁
问题描述
我正在设计一个用于产品租赁的数据库。我正在使用 Laravel 8 框架。
价格一直在变化。
租赁订单需要客户生成的报价。
价格已存储但未在用户视图中列出,它们仅供管理员订单报价生成器视图中的参考。
客户希望能够在发送之前更改每个报价的价格,因为他们的特定客户可能需要特殊处理。
所以,总结一下,我需要:
- 存储特定订单报价的价格记录。
- 存储基准价格和该价格的历史记录。
- 能够列出按订单状态过滤的两个日期之间的可用产品,这将在最终批准报价之前发生变化。也按可用库存过滤。
- 有与特定订单相关的额外费用。
- 延期付款的总价不同。
这就是我想出的,我有一张桌子:
- 订单
- 产品
- Order_Product (laravel的eloquent需要这个名称格式)
- 产品_价格
- 附加内容
- Orders_statuses
- 在 order_product 表中,我计划存储为客户定义的价格和租用产品的数量。也是产品和订单之间多对多的外键。
- 在订单中,我计划在用户选择的两个日期之间存储“取货”和“返回日期以首先查询 WHERE “已批准状态的订单”。最后获取带有 NOT IN 的 order_products 以显示可用产品。
- products_prices 表我用它来存储更改记录。
- 在产品表中,我有可用性,因为该产品可能在一段时间内因多种原因无法出租。由于客户的要求,我将用于订购列表的库存和颜色,所以我先选择原色,然后选择第二和第三颜色。
我不确定这是否是实现我正在寻找的最有效的方法。因为我需要一直检查产品的可用性,所以我需要确保这是最快、更可靠的产品。
我不会说英语,所以我觉得有必要澄清这一点:
- 客户=我的客户。
- 用户 = 我的客户的客户。
提前致谢!
解决方案
推荐阅读
- javascript - 输出未显示为未呈现的表单数据(document.getElement)
- vim - 如何在vim的现有窗口中打开终端提示符
- python - Keras 错误:操作对渐变具有“无”
- uwp - MapControl 渲染距离
- flutter - 将 documentSnapshot 转换为对象列表
- javascript - 如何修复抛出未定义的二传手?
- c++ - 打包虚幻引擎代码插件时出错:远程编译需要服务器名?
- php - 使用 php 中的 Select 元素对产品进行排序
- android - 为什么 isChecked() 方法不适用于我的数组
- python - 如何在 zeep python 中的 SOAP 请求的单个标签下发送多个值