예제 #1
0
 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'));
 }