[Symfony5]Récupérer id lors de l'enregistrement d'un formulaire

Par Yassin237, il y a 3 ans


Comment récupérer l'identifiant lors de l'enregistrement d'un formulaire dans symfony 5 ?

J'ai deux entités Operation et Rubrique liées par une relation de ManyToOne

Je veux récupérer l'id d'une Opération lors de l'enregistrement

PS : le code fonctionne pour enregister

Form

public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('rubrique', EntityType::class, [ 'class' => Rubrique::class, 'choice_label' => 'libelle', ]) ->add('montant', IntegerType::class, [ 'label' => 'Montant', ]) ; }

Controller

#[Route( '/new-operation', name: 'app_new_operation', methods: ['GET', 'POST'], )] public function newOperation( Request $request, ManagerRegistry $doctrine, ): Response { $em = $doctrine->getManager(); $operation = new Operation; $form = $this->createForm(OperationFormType::class, $operation); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em->persist($operation); $em->flush(); $this->addFlash('success', 'Operation created successfully!'); return $this->redirectToRoute('app_home'); } if ($form->isSubmitted()) { $this->addFlash('danger', 'Can you verify your submission? There are a few issues with this.'); } return $this->render('home/new_operation.html.twig', [ 'form' => $form->createView(), ]); }

5 réponses

Maria2022, il y a 3 ans

vous devrez laisser votre code pour que je puisse vous aider

Maria2022, il y a 3 ans

je veux dire votre controller

Yassin237, il y a 3 ans

Merci! pour avoir réagir
J'ai ajouté mon code

gillesr, il y a 3 ans

Bonjour,

logiquement lorsqu'une entité est enregistrée, elle est mise à jour avec l'id, donc après le flush, tu peux récupérer l'id en faisant un $operation->getId()