Mam metode w kontrolerze, w której generuje formularz edycji.
Jeżeli jednak poda się w adresie id zadania, które nie istnieje, wtedy Symfony wqyrzuca, że taki obiekt nie istnieje, chcialbym wyświetliś z tej okazji addFlash()
np dla linku: https://127.0.0.1:8000/task/edit/19
#[Route('/task/edit/{id}', name: 'app_task_edit')] public function edit(Task $task, Request $request, int $id): Response { //CHCE TUTAJ SPRAWDZIĆ CZY taki rekord/obiekt istnieje. $this->taskRepository->findOneBy(['id' => $id]); if (...) { $this->addFlash('success', 'Brak produktu o podanym ID'); return $this->redirectToRoute('app_task_show_list'); } $form = $this->createForm(TaskType::class, $task); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $task = $form->getData(); $this->entityManager->persist($task); $this->entityManager->flush(); $this->taskRepository->countTasksInCategory();//update taskCount $this->addFlash('success', 'Your form has been edit.'); return $this->redirectToRoute('app_task_show_list'); } return $this->renderForm('task/edit.html.twig', [ 'form' => $form, 'id' => $id, ]); }
Jak przy edycji sprawdzić, czy obiekt/rekord o tym id istnieje, niestety wyrzuca błąd php, że obiekt nie istnieje.
Wygląda jakby jakiś nadrzędny mechanizm sprawdzał przed wykonaniem tej metody. Czy trzeba użyć jakiegoś eventu?
Proszę o podpowiedź
