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]); }
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; }