get('session'); $em = $this->getDoctrine()->getManager(); $repository_profile = $em->getRepository(User::class); $profile = $repository_profile->findOneBy(array('username' => $session->get('user'))); $followuser = $repository_profile->findOneBy(array('username' => $username)); $profile->addSubscription($followuser); $followuser->addFollower($profile); $em->persist($profile); $em->persist($followuser); $em->flush(); return $this->redirectToRoute('profile', ['username' => $username]); } #[Route('/profile/{username}/unfollow', name: 'unfollow')] public function unfollow($username): Response { $session = $this->get('session'); $em = $this->getDoctrine()->getManager(); $repository_profile = $em->getRepository(User::class); $profile = $repository_profile->findOneBy(array('username' => $session->get('user'))); $followuser = $repository_profile->findOneBy(array('username' => $username)); $profile->removeSubscription($followuser); $followuser->removeFollower($profile); $em->persist($profile); $em->persist($followuser); $em->flush(); return $this->redirectToRoute('profile', ['username' => $username]); } }