Пример #1
0
 /**
  * 编辑商品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', "修改成功");
 }