laravel Eloquent ORM 如何计算 商品库存

发布于 2022-09-05 06:26:35 字数 1963 浏览 23 评论 0

产品表

products

idnamepricequantity
1苹果3.203
2香蕉5.00100
3桃子3.00100
4葡萄9.99100
5芒果6.77100
6柚子8.00100
7西瓜1.20100

订单表

orders 表有如下数据

idproduct_iduser_idquantity
1113
2211
3312
4413
5511
6122
7221

查询库存

希望通过 orders 表查出所有商品的库存数

像这样的的关系 该如何关联呢, 因为每个订单可以选择商品数量 (quantity)

有木有大神 指导一下啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夏至、离别 2022-09-12 06:26:35

个人觉得,可以在product表中增加一个剩余数量字段。然后应用观察者模式,创建订单时,剩余数量减少;订单失效后,剩余数量增加

何以畏孤独 2022-09-12 06:26:35

一个商品对应多个订单 通过proid hasmany关联试试~

西瓜 2022-09-12 06:26:35

库存 应该是 直接从商品,而不是从订单去做统计,难道你的商品不会进行补库存的动作吗,而且 你是不是还要判断订单的当下的状态

赠我空喜 2022-09-12 06:26:35

在Order的model里定义product

function product(){
return $this->hasOne('App\Model\product','id','product_id');
}

在product的model里定义orders(可以不写)

function orders(){
    return $this->belongsTo('App\Model\order');
}

在控制器里写

$res=Order::query()->select('product_id','user_id','quantity')->with('product')->get();
dd($res->toArray());

偷下懒~就丢一个数据在数据库里~~~
结果如下:
结果图

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文