Bonjpur,
Dans un projet Symfony, lorsqu'un formulaire de traduction d'éléments backend est soumis, je récupère les différentes traductions dans une boucle foreach pour les stocker dans la base de données. Tout va bien sauf pour le dernier élément qui n'est pas stocké dans la base de données.
Voici le traitement :
Voici le résultat du dump se trouvant dans le code précédent :
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
37
38
39 if ($seasonsForm->isSubmitted() && $seasonsForm->isValid()) { foreach($seasons as $season) { foreach($locales as $locale) { if($locale) { $translation = $seasonsForm['season_' . $season->getId() . '_' . $locale]->getData(); if ($translation) { dump($locale . ' : ' . $translation); $season->setSeason($translation); $season->setTranslatableLocale($locale); $manager->persist($season); $manager->flush(); } } } } $this->addFlash('success', "Seasons were successfully translated."); return $this->redirectToRoute('backend.translations'); }
Cependant, le dernier élément ("fr: Top") n'est pas stocké dans la base de données :
Quelqu'un aurait une idée sur l'origine du problème?
Merci d'avance pour votre aide.
Partager