Ниже приведен пример логики для добавить функцию выставления счета.
Код: Выделить всё
public function createInvoice(Request $request){
$user = auth()->user();
$carts = DB::table('carts')->join('products', 'carts.product_id', '=', 'products.product_id')->where('carts.user_id', '=', $user->user_id)->where('status', '=', 0)->get();
$product = DB::table('products');
$newInvoice = Invoice::create([
'user_id' => $user->user_id,
'total_price' => $request->total_all_item_price,
'pay_status' => 0,
]);
foreach($carts as $cart){
Item::create([
'product_id' => $cart->product_id,
'invoice_id' => $newInvoice->invoice_id,
'product_name' => $cart->product_name,
'product_price' => $cart->product_price,
'total_price' => $cart->product_price * $cart->count,
'ammount' => $cart->count
]);
$product->where('product_id', '=', $cart->product_id)->update(['stock' => $cart->stock - $cart->count]);
}
DB::table('carts')->where('carts.user_id', '=', $user->user_id)->update(['status' => 1]);
return redirect('shop.invoice');
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... in-laravel
Мобильная версия