/** * 编辑商品post * @author Hanxiang * @param $id * @return view */ public function updatePost($id) { $item = Item::find($id); if (!$item) { abort(404); } $input = Input::all(); $validator = Validator::make($input, ['supplier' => 'required', 'item-title' => 'required', 'item-code' => 'required', 'item-barcode' => 'required', 'item-stock' => 'required', 'item-type' => 'required', 'item-weight' => 'numeric', 'item-volume' => 'numeric', 'item-market-price' => 'required', 'item-price' => 'required', 'item-commission-ratio' => 'required', 'item-commission' => 'required', 'item-postage-type' => 'required', 'item-sale-status' => 'required', 'item-shelf-status' => 'required', 'item-is-direct-sale' => 'in:Y,N']); if ($validator->fails()) { return redirect()->route('adminItemsUpdate', [$id])->with('error_tips', "参数错误: " . $validator->messages()->first()); } if (Input::hasFile('item-image')) { $file = Input::file('item-image'); $ext = $file->getClientOriginalExtension(); $filename = Uuid::v4(false) . ".{$ext}"; $file->move(public_path('itemimages'), $filename); $relPath = "/itemimages/{$filename}"; $image = new Image(); $image->url = $relPath; $image->name = $input['item-title']; $image->type = 1; //TODO $image->save(); $imageId = $image->id; $itemImage = ItemImage::where('item_id', $id)->get(); if (count($itemImage) > 0) { ItemImage::where('item_id', $id)->update(['image_id' => $imageId]); } else { $ii = new ItemImage(); $ii->item_id = $id; $ii->image_id = $imageId; $ii->save(); } } $item->name = $input['item-title']; $item->title = $input['item-title']; $item->code = $input['item-code']; $item->barcode = $input['item-barcode']; $item->type_id = $input['item-type']; $item->supplier_id = $input['supplier']; $item->spec = $input['item-spec']; $item->stock = $input['item-stock']; $item->weight = $input['item-weight']; $item->volume = $input['item-volume']; $item->price = $input['item-price']; $item->commission = $input['item-commission']; $item->commission_ratio = $input['item-commission-ratio']; $item->market_price = $input['item-market-price']; $item->postage_type = $input['item-postage-type']; $item->shelf_status = $input['item-shelf-status']; $item->sale_status = $input['item-sale-status']; $item->is_direct_sale = $input['item-is-direct-sale']; $item->comment = $input['item-comment']; try { $item->save(); } catch (Exception $e) { return redirect()->route('adminItemsUpdate', [$id])->with('error_tips', "添加失败"); } return redirect()->route('adminItems')->with('success_tips', "修改成功"); }