/** * Update tags in database. * * @param Request $request * @param int $id * * @return Redirect */ public function update(Request $request, $id) { $image = Image::findOrFail($id); $tags = DB::table('tags')->whereIn('id', $request->input('tags'))->lists('id'); $tagsExisting = DB::table('image_tags')->where('image_id', $image->id)->lists('tag_id'); $tagsTimestamps = []; foreach ($tags as $tagId) { $tagsTimestamps[$tagId] = ['updated_at' => date('Y-m-d H:i:s')]; if (!in_array($tagId, $tagsExisting)) { $tagsTimestamps[$tagId]['created_at'] = date('Y-m-d H:i:s'); } } $image->tags()->sync($tagsTimestamps); return redirect()->route('image.view', ['id' => $image->id]); }
public function unstar($id) { $image = Image::findOrFail($id); $exist = DB::table('image_favorites')->where('image_id', $image->id)->where('user_id', Sentry::getUser()->id)->exists(); if ($exist) { DB::table('image_favorites')->where('image_id', $image->id)->where('user_id', Sentry::getUser()->id)->delete(); } return Redirect::route('image.view', ['id' => $image->id]); }