/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(JobFormRequest $request, $id) { $job = $this->jobs->whereId($id)->first(); $job->categories()->detach(); $job->tags()->detach(); $job->name = $request->get('name'); $job->purpose = $request->get('purpose'); $job->experience = $request->get('experience'); $job->content = $request->get('content'); $job->start_range = $request->get('start_range'); $job->end_range = $request->get('end_range'); $job->slug = str_slug($request->get('slug')); $job->published = $request->input('published') === 'on' ? true : false; $job->published_at = $request->input('published_at'); $job->expiration_at = $request->input('expiration_at'); $job->update(); foreach ($request->categories as $index => $category_id) { $category = JobCategory::whereId($category_id)->first(); $job->assignCategory($category); } foreach ($request->tags as $index => $tag_id) { $tag = JobTag::whereId($tag_id)->first(); $job->assignTag($tag); } return \Redirect::route('admin.jobs.index')->with('flash_message', 'Job added!'); }