Bonjour,
Pour faire ça, il est conseillé d'injecter l'EntityManagerInterface.
Il faut donc déclarer l'entity manager et ajouter un constructeur comme ceci, après avoir importé la classe 'Doctrine\ORM\EntityManagerInterface' en haut de ton fichier :
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
ou en php 8 (la déclaration en private se fait directement dans le constructeur)
public function __construct(private EntityManagerInterface $em){}
Ensuite, tu peux simplifier ta méthode comme ça :
public function frais_forfaitises_delete(ElementsForfaitises $ef):Response
{
$this->em->remove($ef);
$this->em->flush();
return $this->redirectToRoute('app_suivi_frais');
}
Tu noteras que j'ai typé le paramètre de la méthode ($ef) ce qui permet de le supprimer directement car le paramConverter de symfony reconnait que c'est un objet de type ElementsForfaitises et va le chercher à partir de son id passé en paramètre.