/** * Update the specified Video in storage. * * @param int $id * @param UpdateVideoRequest $request * * @return Response */ public function update($id, UpdateVideoRequest $request) { $video = Video::find($id); if (empty($video)) { Flash::error('Video not found'); return redirect(route('videos.index')); } $input = $request->all(); $video->title = $input['title']; $video->description = $input['description']; $video->save(); Flash::success('Video updated successfully.'); return redirect(route('videos.index')); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(StoreProductRequest $request, $id) { $product = Product::find($id)->fill($request->all()); $product->type = Product::find($id)->type; // validate request further according to type switch ($request->type) { case 'MOVIE': case 'SERIES': case 'ANIME': case 'VIDEO': $valRequest = new UpdateVideoRequest(); $this->validate($request, $valRequest->rules()); $info = Video::find($product->id)->fill($request->video); break; case 'GAME': $valRequest = new UpdateGameRequest(); $this->validate($request, $valRequest->rules()); $info = Game::find($product->id)->fill($request->video); break; } if (in_array($request->type, ['MOVIE', 'SERIES', 'ANIME', 'VIDEO'])) { $this->UpdateVideo($request, $product, $info); } else { if ($request->type == "GAME") { $this->UpdateGame($request, $product, $info); } } // flash message session()->flash('flash_message', 'Product updated successfully.'); return redirect()->route('home'); }