从不同的记录更新产品表数量

Posted

技术标签:

【中文标题】从不同的记录更新产品表数量【英文标题】:Updating product table quantity from different record 【发布时间】:2021-07-23 02:12:43 【问题描述】:

我在从具有不同 ID 的不同商品数量的主要库存中更新数量时遇到问题。

这是带有主要库存位置的产品表

我想减去一些数量,但很难用相同的项目更新所有记录。

示例:我有数量:42,我想从 id 的项目中减去:3 我将如何在 laravel php 中实现或最好的方法?

【问题讨论】:

你的意思是 FIFO 吗?即你想从最旧的记录中减去? 我想从所有记录中减去,主要原因是减少主要库存直到商品数量保持为0 【参考方案1】:

试试这个:(未测试)

        $items = Product::whereItemId(3)->where('quantity','>', 0 )->get();
        $qty = 42;       
        foreach ($items as $item) 
            if($qty >= 0)     
                   
                $substruct = $item->quantity < $qty ? $item->quantity: $qty;
                $qty = $qty - $substruct;                
                $item->update(['quantity' => $substruct]);
            
        

【讨论】:

我刚刚做了一些修改,工作完美,谢谢

以上是关于从不同的记录更新产品表数量的主要内容,如果未能解决你的问题,请参考以下文章

汇总SQL中2个不同表中的3列

分别跟踪新记录和更新记录的计数

SQL选择动态记录数

产品线上问题记录一:启动页仅记录时间未检查升级,导致不能弹出自动更新弹窗

从 Access VBA 中的表中的记录创建查询

Mysql触发器没有更新记录