[英]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.