如何在运行时获取id的剩余数量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在运行时获取id的剩余数量?相关的知识,希望对你有一定的参考价值。

我有物品和购买物品..如果我购买100件物品并出售50件物品,那么在此库存视图中应显示50件物品库存。

在这段代码中,我只得到最后一项的库存。

我附上了工作形象。如何获得每个项目名称的股票?

Image

<div class="card-content collapse show">
    <div class="table-responsive">
        <table 
            class="table table table-striped table-bordered base-style"
            id="myTable"
        >
            <thead class="table table-striped">
                <tr>
                    <th>Item Name</th>
                    <th>Stock</th>
                </tr>
            </thead>
            <tbody>
                @foreach($items as $item)
                   <tr>
                       <td>$item->item_name</td>
                       <td>$allInventory</td>
                   </tr>
                @endforeach
            </tbody>
        </table>
    </div>
</div>

调节器

public function inventoryView()

    $items = AllItems::where('status', 1)->get(['id','item_name']);

    for ($i = 0; $i < count($items); $i++) 
        $checkQuantity = Purchase::leftJoin('all_items','all_items.id', '=','purchases.item_id')
                             ->where('purchases.item_id', $items[$i]->id)
                             ->sum('quantity');

        $checkSoldQuantity = SaleInvoiceDetail::leftJoin('all_items', 'all_items.id', '=', 'sale_invoice_details.item_id')
                                 ->where('sale_invoice_details.item_id', $items[$i]->id)
                                 ->sum('quantity');

        $allInventory = round($checkQuantity - $checkSoldQuantity);
    

    return view('pages.inventory-view')
        ->with([
            'allInventory' => $allInventory,
            'items' => $items,
            'checkQuantity' => $checkQuantity,
            'checkSoldQuantity' => $checkSoldQuantity
        ]);

答案

问题出在这里

$allInventory = round($checkQuantity - $checkSoldQuantity);

请替换您的代码并删除变量($ allInventory)

$items[$i]['inventory'] = round($checkQuantity - $checkSoldQuantity); 

在视图文件中,更改for循环

@foreach($items as $item)
        <tr>
           <td>$item->item_name</td>
           <td>$item->inventory</td>
        </tr>
 @endforeach

以上是关于如何在运行时获取id的剩余数量?的主要内容,如果未能解决你的问题,请参考以下文章

PLSQL 过程在运行时获取用户输入

获取 ValueError:在尝试运行 Adjt 时发现样本数量不一致的输入变量:[248, 1239]。 R 平方和 RMSE

如何在 C# 运行时获取表的列名?

如何分析 Monotouch 以查看运行时创建的蹦床数量(按类型)?

Gradle - jacoco任务在Spring应用程序运行时添加合成字段,导致测试计数类中已声明字段的数量失败

在运行时动态分配 MFC 命令 ID