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]);
 }
Beispiel #2
0
 public function store(FormBuilder $formBuilder, Request $request)
 {
     $form = $formBuilder->create(OrdersForm::class);
     // It will automatically use current request, get the rules, and do the validation
     if (!$form->isValid()) {
         return redirect()->back()->withErrors($form->getErrors())->withInput();
     }
     Orders::create($request->all());
     return redirect()->route('order.index');
 }
 public function store(CreateOrderRequest $request)
 {
     $input = $request;
     $input['dateordered'] = date('Y-d-m');
     $input['orderedby'] = Auth::user()->firstname;
     Orders::create($input->all());
     session()->flash('flash_message', 'je bestelling is succesvol opgeslagen');
     $name = Auth::user()->firstname;
     $orders = Orders::where('orderedby', '=', $name)->get()->all();
     return view('orders.index', compact('orders'));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $input = Request()->all();
     extract($input);
     $data['order_id'] = "MAH-PUN-REG-" . rand(1000, 9999);
     foreach ($ids as $product_id) {
         $data['product_id'] = $product_id;
         CartController::forget($product_id);
         Orders::create($data);
     }
     $cust_id = \Auth::user()->id;
     return redirect('pages/order/' . $data['order_id']);
 }
 public function persistOrder(Request $request, Response $response, $requestBody, $user)
 {
     DB::transaction(function () use(&$response, &$requestBody, &$user) {
         $deliveryInfo = new \stdClass();
         $deliveryInfo->email = $requestBody->email;
         $deliveryInfo->phone = $requestBody->phone;
         $deliveryInfo->address = $requestBody->address;
         $baseOrderEntry = null;
         foreach ($requestBody->products as $product) {
             $createdEntry = Orders::create(["user_id" => $user->id, "product_id" => $product->id, "order_date" => date("Y-m-d H:i:s"), "delivery_date" => date("Y-m-d H:i:s"), "is_payed" => 0, "delivery_info" => json_encode($deliveryInfo, JSON_UNESCAPED_UNICODE), "in_order_with" => $baseOrderEntry !== null ? $baseOrderEntry->id : 0, "order_count" => $product->quantity]);
             if ($baseOrderEntry === null) {
                 $baseOrderEntry = $createdEntry;
             }
         }
         $response->header("Content-Type", "application/json");
         $response->header(Constants::RESPONSE_HEADER, "Successfully persisted entity.");
         $response->setStatusCode(Response::HTTP_CREATED);
     });
     return $response;
 }