Bonjour,
L'enregistrement d'une annonce se fait via 2 formulaire successifs : l'un permettant d'encoder les différents élements qui doivent se trouver dans l'annonce et l'autre les différents prix qui y sont liés. Ces deux formulaires sont basés sur la même entité "Advert".
Lors d'un passage d'un formulaire à l'autre, je n'enregistre rien en base de données. ce n'est qu'à la soumission du second que je désire tout enregistrer. Pour se faire, je fais comme ceci :
Mon problème est que jamais l'echo ne s'effectue jamais, comme si la condition if retournait false, même si je retire le isValid(). Je reviens d'ailleurs à mon formulaire d'encodage d'une nouvelle annonce, ce qui correspond au second retour avec le template createAdvert.html.twig.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 ... $form = $this->createForm(AdvertType::class, $advert); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { ... //New form with prices only $formPrices = $this->createForm(PricesAdvertType::class, $advert); $formPrices->handleRequest($request); **if ($formPrices->isSubmitted() && $formPrices->isValid()) around {around echo "ok";** /*$prices = $advert->getPricess(); foreach ($prices as $price) { $price->addAdvert($advert); } $manager->persist($advert); $manager->flush();*/ } return $this->render('road_trip/**createPricesAdvert.html.twig'**, ['formPricesAdvert' => $formPrices->createView(), 'editMode' => $advert->getId() !== null]); } } return $this->render('road_trip/createAdvert.html.twig', ['formAdvert' => $form->createView(), 'editMode' => $advert->getId() !== null]); }
Je ne comprends pas d'où peut provenir mon problème. Quelqu'un aurait une idée?
Merci d'avance pour votre aide.
Partager