function checkout(DeliveryFormRequest $request) { if (isset($_COOKIE['basket'])) { $orders = $_COOKIE['basket']; $orders = json_decode($orders); } else { return redirect('/basket'); } $ids = []; $amount = []; $total_cost = 0; $order_id = Orders::latest()->first(); //получаем последний заказ empty($order_id) ? $order_id = 1 : ($order_id = $order_id->order_id + 1); //определяемся с новым заказом, увеличивая номер последнего заказа на 1 foreach ($orders as $order) { $ids[] = $order->item_id; //создаем массив из id заказанных товаров $amount[$order->item_id] = $order->amount; //создаем массив с количеством каждого товара ['id товара'=>'количество товара'] } $items = Items::whereIn('id', $ids)->get(); foreach ($items as $item) { $orders = Orders::create(['item_id' => $item->id, 'price' => $item->price, 'order_id' => $order_id, 'amount' => $amount[$item->id], 'name' => $request->name, 'address' => $request->address, 'phone' => $request->phone]); //сохраняем заказ в базу $total_cost = $total_cost + $item->price * $amount[$item->id]; } setcookie('basket', ''); $orders = Orders::where('order_id', $orders->order_id)->get(); return view('finish_order', ['orders' => $orders, 'total' => $total_cost]); }
/** * Display a listing of the resource. * * @return Response */ public function index() { $orders = Orders::latest()->get(); return view('orders.index', compact('orders')); }