/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { // $order = Order::find($id); $order_detail = Order_detail::where('order_id', $id)->get(); $product = Product::all(); $color = Color::all(); $size = Size::all(); return view('backend.pages.order.detail', array('order' => $order, 'detail' => $order_detail, 'product' => $product, 'color' => $color, 'size' => $size)); }
/** * The attributes that are mass assignable. * * @var array */ public static function addOrder_detail($orderid, $key) { $Order_detail = new Order_detail(); $Order_detail->order_id = $orderid; $Order_detail->product_id = $key['id']; $Order_detail->name = $key['name']; $Order_detail->quantity = $key['quantity']; $Order_detail->color_id = $key['color']; $Order_detail->size_id = $key['size']; $Order_detail->price = $key['price']; $Order_detail->save(); return; }
public function createOrder(Request $request) { Log::info('OrderController.createOrder:'); $validator = Validator::make($request->all(), ['email' => 'required|email', 'address' => 'required', 'phone' => 'required|size:10', 'delivery_charges' => 'sometimes', 'payment_type' => 'sometimes|in:cod,online', 'items' => 'required']); if ($validator->fails()) { return response()->json(['response' => 'failure', 'message' => $validator->errors()]); } $order = Order::create($request->all()); $order_id = $order->id; $total_amount = 0; $msg = ""; if ($request->has('items')) { $input = $request->input('items'); foreach ($input as $i) { //Check whether the food item exists $food = Food::find($i['food_id']); if (!$food || $food->quantity < $i['ordered_quantity']) { $msg .= "Item " . $i['food_id'] . " is not available."; //return response()->json(['response' => 'failure', 'message' => $msg, 'order' => $order]); } else { //Add items to the order $i['order_id'] = $order_id; $order_detail = Order_detail::create($i); $total_amount += $food->price * $i['ordered_quantity']; //Update quantity in food table $food->quantity = $food->quantity - $i['ordered_quantity']; $food->save(); } } } if ($total_amount > 0) { $order->item_total = $total_amount; $order->status = 'placed'; $order->save(); Event::fire(new OrderPlaced($order)); Log::info('Order placed', ['id' => $order->id]); return response()->json(['response' => 'success', 'message' => $msg, 'order' => $order]); } else { //Delete the order record as none of the items are available $order->delete(); Log::info('Order Deleted as items are not available', ['id' => $order_id]); return response()->json(['response' => 'failure', 'message' => $msg]); } }
public function addOrder(OrderRequest $request) { $checkout = $request->all(); $data = Session::get('cart'); $orderid = Order::addOrder($checkout, $data); foreach ($data as $key) { # code... Order_detail::addOrder_detail($orderid, $key); } Session::forget('cart'); return redirect('/cart')->withErrors(['error' => 'Vui lòng kiểm tra email để xác nhận đơn hàng']); }