/** * Decrease movie likes * @param MoviesHates $entity */ protected function decreaseHates(MoviesHates $entity) { $movie = $entity->getMovie(); $movie->setHates($movie->getHates() - 1); $this->em->persist($movie); $this->em->flush(); }
/** * Perform hate action * @param Request $request * @param $id * @return JsonResponse */ public function hateAction(Request $request, $id) { $em = $this->getDoctrine()->getManager(); $me = $this->get('security.context')->getToken()->getUser(); $movie = $em->getRepository('AppBundle:Movies')->find($id); $response = new \stdClass(); $response->saved = 0; if ($movie instanceof Movies && $movie->getUser()->getId() != $me->getId()) { $this->delete_like($me->getId(), $id); $hate = new MoviesHates(); $hate->setMovie($movie); $hate->setUser($me); $em->persist($hate); $em->flush(); if ($hate->getId() > 0) { $response->saved = 1; } } return new JsonResponse($response); }