当数据库中的项目数量低于特定数字(如 Laravel 中的 5 时,制作模态 pop-up

Make modal pop-up when an items quantity in database is below a specific number like 5 in Laravel

当库存商品的 数量 pop-up 时,我希望在 blade低于特定数字,如 5。我有模态 但我不知道如何 call/instantiate 它。请帮帮我。

https://laracasts.com/discuss/channels/laravel/models-views-controllers讨论中没有解决方案,所以我恳求您的帮助。

这是我在 index.blade.php 中的模态:

<div class="modal fade" id="modal-danger">
            <div class="modal-dialog">
                <div class="modal-content bg-danger">
                    <div class="modal-header">
                        <h4 class="modal-title">Danger Modal</h4>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">
                        <p>One fine body&hellip;</p>
                    </div>
                    <div class="modal-footer justify-content-between">
                        <button type="button" class="btn btn-outline-light" data-dismiss="modal">Close</button>
                        <button type="button" class="btn btn-outline-light">Save changes</button>
                    </div>
                </div>
                <!-- /.modal-content -->
            </div>
            <!-- /.modal-dialog -->
        </div>  

这是我的控制器:

<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Sales Report</title>
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css">
            <link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/dataTables.bootstrap4.min.css">
            <link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.5.2/css/buttons.bootstrap4.min.css">
            <link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.bootstrap4.min.css">
        </head>
        <body>
            <table id="example" class="table table-striped table-bordered dt-responsive nowrap" style="width:100%">
                <caption><h3>Sales Report</h3></caption>
                <thead>
                    <tr>
                        <th>Sales ID</th>
                        <th>Stock ID</th>
                        <th>Product Name</th>
                        <th>Sale Quantity</th>
                        <th>Unit Selling Price</th>
                        <th>Total Sales Cost</th>
                        <th>Sold On</th>
                    </tr>
                </thead>
                <tbody>
                @foreach($sales as $key => $sale)
                    <tr>
                        <td>{{$sale->sales_id}}</td>
                        <td>{{$sale->stock_id}}</td>
                        <td>{{$sale->product_name}}</td>
                        <td>{{$sale->sale_quantity}}</td>
                        <td>{{$sale->unit_selling_price}}</td>
                        <td>{{$sale->total_sales_cost}}</td>
                        <td>{{$sale->updated_at}}</td>
                    </tr>
                @endforeach
                </tbody>
            </table>
        </body>
    </html>

这是股票的截图table: screenshot of the stock table

我相信您可以控制 return 您的观点。因此,只需计算库存项目并将其 return 作为您视图的变量,如下所示:

$items = Stock::count();

return view('your-view')->with([
  'itemsCount' => $items,
]);

那么,在你看来,做这样的事情:

<input type='hidden' value='{{ $itemsCount }}' id="items-count">

<script>
    $(document).ready(function(){
        if($("#items-count").val() < 5) {
            $("#your-modal-id").modal("show");
        }
    });
</script>

更新

计算特定股票;

$items = Stock::where('stock_name', $stockName)->first()->stock_quantity;
//If you want to count every single stock, just do it with a for or foreach loop
return view('your-view')->with([
  'itemsCount' => $items,
]);

希望对您有所帮助。