簡體   English   中英

如何在Laravel中從另一個表中減去一個表上的值

[英]How do you subtract a value on one table with a value from another table in laravel

我有兩個表,一個稱為產品,另一個稱為訂單。
產品列:id,plant_name,price,stock。
訂單為列:編號product_id,數量。

當某人下訂單時,他們會選擇一個數量。 如何減少另一張桌子上的庫存數量?

我在Laravel中使用控制器和elequent,如果有幫助。

這似乎是一個一般的實現問題?

這取決於您如何處理訂單。 如果新的存儲在表中,並且您正在運行通過它們的cron,則循環訂購並逐個更新數量。

例如:

 $newOrders = \DB::table('orders')->get();
 foreach ($newOrders as $order){
     $stock = \DB::table('products')->where('id', $order->product_id)->first()->stock;
     if($stock > $order->quantity){
         \DB::table('products')->where('id', $order->product_id)->decrement('stock',$order->quantity);
 }

如果您在控制器中即時處理它,則跳過上面的循環,在處理訂單時只需更新產品表即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM