我希望它在下訂單后從庫存中減少購物車中的產品數量。示例:有5個ID的產品庫存為50件,如果收到該產品的5個訂單,我希望它更新為50 - 5 = 45。
注意:數字=當前訂單中的產品數量
更詳細:cart_product 表中有數字,products 表中有 stock,cart_product 中有產品數量,從 cart_product 表中取數字并從 product 表中的 stock 中減去,但我沒有成功,你能幫忙嗎請給我
DB::table('products')
->join('products', 'products.id', 'cart_product.product_id')
->join('cart_product', 'cart.id', 'cart_product.main_cart_id')
->where(session('active_cart_id'),'=','cart_product.main_cart_id')
->orWhere('cart_product.product_id','=','products.id')
->update();
uj5u.com熱心網友回復:
// Fetch items in the cart
$cartItems = DB::table('cart_product')
->where('main_cart_id', session('active_cart_id'))
->get();
foreach ($cartItems as $cartItem) {
// Update stocks in the "products" table
DB::table('products')
->where('id',$cartItem->product_id)
->decrement(
'AAAAA',
$cartItem->BBBBB;
);
}
因為我不知道,所以我不能使用列名。請記住,您需要更改代碼中的以下文本:
AAAAA=> "cart_product" 表中購買專案金額的列名。$cartItem->BBBBB=> “產品”表中的專案庫存的列名。
有關increment and decrement方法的更多資訊,您可以查看https://laravel.com/docs/9.x/queries#increment-and-decrement
uj5u.com熱心網友回復:
它是這樣作業的
// Fetch items in the cart
$cartItems = DB::table('cart_product')
->where('main_cart_id', session('active_cart_id'))
->get();
foreach ($cartItems as $cartItem) {
// Update stocks in the "products" table
DB::table('products')
->where('id',$cartItem->product_id)
->decrement(
'stock',
$cartItem->number
);}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/511476.html
上一篇:使用所有用戶資料向laravel中的所有用戶發送通知
下一篇:錯誤:E/AndroidRuntime:FATALEXCEPTION:main原因:必須在呼叫activateApp之前初始化Facebooksdk
