Pre-remplissage de formulaire et persistance

Par GabrielT, il y a 5 ans


Bonjour,
Voila, le titre en dis un peu sur mon probleme et je cherche quelques bonnes âmes pour m'aiguiller pour trouver une solution ;)

Ce que je fais

Je cherche a faire plusieurs choses en meme temps parce que je n'ai qu'un seul formulaire de validation.

Je recupere un tableau d'un traitement précédent. Ce tableau doit me servir à pre-remplir mon formulaire mais je n'arrive a faire parvenir mes infos dans mon formulaire.

Voici le tableau devant servir au remplissage du formulaire:

array:5 [▼ "truc" => array:35 [▶] "dateDoc" => "11/02/2020" "muche" => array:14 [▶] "bidule" => array:8 [▼ 9 => array:6 [▼ "annee" => "1988" "debut" => "01/01" "fin" => "30/03" "naturePeriode" => "Ville de Nantes " "points" => "3" "surplus" => "167" ] 10 => array:6 [▶] 11 => array:6 [▶] 12 => array:6 [▶] 13 => array:6 [▶] 14 => array:6 [▶] 15 => array:1 [▶] "numero" => "0123DFG0123" ] "berk" => array:23 [▶] ]

Voici mon formType:

class RecuperationType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder //pour faire la liaison entre etudie et indiv ->add('etudie', EtudieType::class, [ 'data' => $options['etudie'], ]) // creer le indiv ->add('indiv', IndivType::class) // mettre un addEventListener pour le creer apres le indiv et recup id indiv ->add('carr', CarrType::class) // mettre un addEventListener pour le creer apres le carr et recup id carr ->add('infoCarr', InfoCarrType::class) // mettre un addEventListener pour le creer apres le infoCarr et recup id infocarr ->add('point', PointType::class) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'etudie' => EtudieType::class ]); } }

Ce que je veux

Avec le tableau, je dois faire plusieurs choses dans le formulaire:
1- recuperer les grand sous-ensembles (comme "truc" ou "muche")
2- recuperer les info des sous-ensembles pour en faire l'affichage (souvent sur plusieurs lignes)
Grosso-modo, il va y avoir plusieurs lignes dans chaque sous-ensemble
Par exemple:
sous-ensemble "Truc" va contenir plusieurs lignes identiques (année / debut / fin / naturePeriode / etc...)

Ce que j'obtiens

Pour le moment je n'obtiens que mon formulaire vide. J'ai bien vu dans la doc Symfony le Data Mapper mais je n'arrive pas a le mettre en place.

Merci par avance de m'avoir lu et de votre aide ;)

2 réponses

aka-aka, il y a 5 ans

Tu devrais y arriver avec un FormEvents::PRE_SET_DATA

GabrielT, il y a 5 ans

Merci aka-aka, je vais regarder ca de pres des que possible ;)