/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id, Requests\PostsFormRequest $request) { $post = Posts::findOrFail($id); $input = $request->all(); $input['alias'] = HelperFunctions::str2url($request->title); $post->update($input); $categories_ids = []; foreach ($input['categories_list'] as $value) { $category = Categories::findOrNew($value); if ($category->exists) { array_push($categories_ids, $value); } else { $category->name = $value; $category->save(); array_push($categories_ids, $category->id); } } $post->categories()->sync($categories_ids); $tags_ids = []; foreach ($input['tags_list'] as $value) { $tag = Tags::findOrNew($value); if ($tag->exists) { array_push($tags_ids, $value); } else { $tag->name = $value; $tag->save(); array_push($tags_ids, $tag->id); } } $post->tags()->sync($tags_ids); \Session::flash('success', 'Post updated'); return redirect('/'); }