/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Requests\PostRequest $request, $id) { $post = Posts::where('id', $id)->firstOrFail(); if (!empty($request->file('image')) && $request->file('image')->isValid()) { $destinationPath = public_path() . "/images/"; // upload path $extension = $request->file('image')->getClientOriginalExtension(); // getting image extension $fileName = $post->url . '.' . $extension; // renameing image $request->file('image')->move($destinationPath, $fileName); // uploading file to given path $post->image = $fileName; } $post->fill($request->only(['title', 'post'])); $post->save(); Posts::findOrFail($id)->tags()->detach(); $tags = []; foreach ($this->getTags($request->input('tags')) as $tag) { if (!empty($tag)) { $isFind = Tags::where('name', $tag)->get()->count(); if ($isFind == 0) { $tags[] = new Tags(['name' => $tag]); } else { $tags[] = Tags::where('name', $tag)->first(); } } } $post->tags()->saveMany($tags); return back(); }
/** * 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('/'); }
function postComment(Request $request) { $all = $request->all(); $validator = Validator::make($all, ['comment' => 'required']); if ($validator->fails()) { $id = $all['id']; $post = Posts::findOrFail($id); $page_title = $post->title; $data = compact('post', 'page_title'); return view('posts.show', $data)->withErrors($validator->errors()); } $comment = Purifier::clean($all['comment'], 'markdown'); $user_id = Auth::user()->id; $post_id = $all['id']; $post = Comments::create(['comment' => $comment, 'post_id' => $post_id, 'user_id' => $user_id]); return redirect(route('getPostShow', $post_id)); }