render('ride/index.html.twig', [ 'rides' => $rideRepository->findAll(), ]); } #[Route('/new', name: '_new', methods: ['GET', 'POST'])] public function new(Request $request, EntityManagerInterface $entityManager): Response { $ride = new Ride(); $form = $this->createForm(RideType::class, $ride); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $entityManager->persist($ride); $entityManager->flush(); return $this->redirectToRoute('ride_index', [], Response::HTTP_SEE_OTHER); } return $this->render('ride/new.html.twig', [ 'ride' => $ride, 'form' => $form, ]); } #[Route('/{id}', name: '_show', methods: ['GET'])] public function show(Ride $ride): Response { return $this->render('ride/show.html.twig', [ 'ride' => $ride, ]); } #[Route('/{id}/edit', name: '_edit', methods: ['GET', 'POST'])] public function edit(Request $request, Ride $ride, EntityManagerInterface $entityManager): Response { $form = $this->createForm(RideType::class, $ride); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $entityManager->flush(); return $this->redirectToRoute('ride_index', [], Response::HTTP_SEE_OTHER); } return $this->render('ride/edit.html.twig', [ 'ride' => $ride, 'form' => $form, ]); } #[Route('/{id}/increment', name: '_increment', methods: ['GET', 'POST'])] public function incrementCount(Request $request, Ride $ride, EntityManagerInterface $entityManager): Response { $form = $this->createForm(RideType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $ride->setCount($ride->getCount() + 15); $entityManager->persist($ride); $entityManager->flush(); } return $this->redirectToRoute('ride_show', ['id' => $ride->getId()], Response::HTTP_SEE_OTHER); } #[Route('/{id}', name: '_delete', methods: ['POST'])] public function delete(Request $request, Ride $ride, EntityManagerInterface $entityManager): Response { if ($this->isCsrfTokenValid('delete'.$ride->getId(), $request->getPayload()->getString('_token'))) { $entityManager->remove($ride); $entityManager->flush(); } return $this->redirectToRoute('ride_index', [], Response::HTTP_SEE_OTHER); } }