Delete

Met de remove statement kunnen we records uit een database tabel verwijderen.

php
//Volgende staat in de use sectie
use App\Entity\Book;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Http\Attribute\IsGranted;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

//Check alleen voor de admin gebruikers
#[IsGranted("ROLE_ADMIN")]
#[Route('/book/delete/{id}', name: 'app_book_delete')]
public function delete(EntityManagerInterface $entityManager, int $id): Response {

    $book = $entityManager->getRepository(Book::class)->find($id);
    //We bereiden het wissen voor in de database
    $entityManager->remove($book);

    //We voeren de statements uit (het wordt nog gedelete)
    $entityManager->flush();

    //Uiteraard zetten we een flash-message
    $this->addFlash('success', 'Boek is gewist');

    //We maken een redirect naar de route om het aangepaste boek te tonen
    return $this->redirectToRoute('app_book');
}