/** * Update the specified resource in storage. * @param ProductFormRequest $request * @param $id * @return \Symfony\Component\HttpFoundation\Response */ public function update(ProductFormRequest $request, $id) { if ($this->product->updateById($id, $request->all())) { flash()->success('Product has been updated'); return response()->json(array('success' => true, 'msg' => 'product updated'), 201); } return response()->json(array('success' => false, 'msg' => 'product not updated'), 422); }
public function updateProduct($id, ProductFormRequest $request) { $product = Product::find($id); $product_name = $request->input('product_name'); $type = $request->input('type'); $brand = $request->input('brand'); $price = $request->input('price'); $sale_price = $request->input('sale_price'); $quantity = $request->input('quantity'); $product_info = $request->input('product_info'); $short_description = $request->input('short_description'); $description = $request->input('description'); $image1 = $request->file('image1'); $image2 = $request->file('image2'); $image3 = $request->file('image3'); $thumbnail1 = $request->file('thumbnail1'); $thumbnail2 = $request->file('thumbnail2'); $thumbnail3 = $request->file('thumbnail3'); //Let's update database $product->update(['product_name' => $product_name, 'type_id' => $type, 'brand_id' => $brand, 'price' => $price, 'sale_price' => $sale_price, 'quantity' => $quantity, 'product_info' => $product_info, 'short_description' => $short_description, 'description' => $description, 'image1' => $image1->getClientOriginalName(), 'image2' => $image2->getClientOriginalName(), 'image3' => $image3->getClientOriginalName(), 'thumbnail1' => $thumbnail1->getClientOriginalName(), 'thumbnail2' => $thumbnail2->getClientOriginalName(), 'thumbnail3' => $thumbnail3->getClientOriginalName()]); $image1->move('public/images/product_images', $image1->getClientOriginalName()); $image2->move('public/images/product_images', $image2->getClientOriginalName()); $image3->move('public/images/product_images', $image3->getClientOriginalName()); $thumbnail1->move('public/images/product_images', $thumbnail1->getClientOriginalName()); $thumbnail2->move('public/images/product_images', $thumbnail2->getClientOriginalName()); $thumbnail3->move('public/images/product_images', $thumbnail3->getClientOriginalName()); return redirect()->route('admin.productManagement'); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(ProductFormRequest $request, $id) { $product = Product::findOrFail($id); $product->update($request->all()); // gestion du champ date : // 02-01-2016 (vue) => 2016-01-02 (bdd) $t = Input::get('published_at'); // string $time = Carbon::createFromFormat('d-m-Y', $t)->toDateTimeString(); $product->published_at = $time; // gestion du checkbox boolean 'en ligne?' : $product->status = empty($request->input('status')) ? 0 : 1; // gestion de l'extrait : $content = Input::get('content'); $contentReduct = substr($content, 0, 40) . '...'; $product->abstract = $contentReduct; $product->save(); // envoi des tags a la bdd : if (!empty($request->input('tags'))) { $product->tags()->sync($request->get('tags')); } if (Input::hasFile('image')) { $destinationPath1 = 'uploads/main/'; $destinationPath2 = 'uploads/preview/'; $destinationPath3 = 'uploads/mini/'; $extension = Input::file('image')->getClientOriginalExtension(); $fileName1 = Str::random(10) . Carbon::now()->timestamp . '.' . $extension; $fileName2 = Str::random(10) . Carbon::now()->timestamp . '.' . $extension; $fileName3 = Str::random(10) . Carbon::now()->timestamp . '.' . $extension; \Intervention\Image\Facades\Image::make(Input::file('image')->getRealPath())->fit(970, 450)->save($destinationPath1 . $fileName1)->fit(550, 375)->save($destinationPath2 . $fileName2)->resize(100, null, function ($constraint) { $constraint->aspectRatio(); })->save($destinationPath3 . $fileName3); // on insere un champ 'uri' + 'uri_preview' dans la bdd 'images' : $image = Image::create($request->all()); $image->uri = $fileName1; $image->uri_preview = $fileName2; $image->uri_mini = $fileName3; $image->status = 1; // 1 pour validé $image->save(); // on insere un champ 'id' dans la bdd 'posts' : $image_id = $image->id; $product->image_id = $image_id; $product->save(); } return redirect(route('admin.products.edit', $id))->with('message', 'Le produit a bien été modifié !'); }