/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $this->validate($request, ['name' => 'required', 'price' => 'required|numeric', 'quantity' => 'required|numeric', 'published_at' => 'date_format:d/m/Y', 'thumbnail' => 'image|max:3000', 'tags' => 'max:4']); $product = Product::find($id); if (!empty($request->input('tags'))) { $product->tags()->sync($request->input('tags')); } else { $product->tags()->detach(); } if ($request->input('delete') == 'true') { if (!is_null($product->picture->uri)) { Storage::delete($product->picture->uri); $product->picture->delete(); } } if (!is_null($request->file('thumbnail'))) { Storage::delete($product->picture->uri); $product->picture->delete(); Picture::createpicture($request, $product->id); } $product->update($request->all()); return redirect('product')->with(['message' => 'Product Updated', 'alert' => 'success']); }