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(),
]);
}
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()