Bonjour je souhaite utiliser un formulaire dans symfony 5.
j'utilise les collections cependant je me heurte à un probléme, je souhaite pouvoir appeler une collection contenant une collection.

En gros j'ai 3 entités:
-leaf (feuille)
-dateActivity (date de l'activité)
-timeActivity (temps de l'activité)

une feuille (leaf) peut contenir plusieurs date d'ativité (dateActivity) une date peut contenir plusieur temps d'activité (timeActivity).

donc dans mon formulaire de (leafType) j'appelle la collection (dateActivityType) et dans dateActivityType j'appel la collection (timeActicityType)

j'arrive trés bien à ajouter plusieurs date mais je n'arrive pas à récuperer le (timeActivityType).


 public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('weekNumber', NumberType::class)
            ->add('year', NumberType::class)
            ->add('validate')
            ->add('user', EntityType::class, [
                'class' => User::class,
                'label' => "Utilisateur",
            ])
            ->add('dateActivities', CollectionType::class, [
                'entry_type' => DateActivityType::class,
                'prototype' => true,
                'allow_add' => true,
                'allow_delete'  => true,
                'by_reference'  => false,
             ])
        ;
    }

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('date')
            ->add('timeActivity', CollectionType::class, [
                'entry_type' => TimeActivityType::class,
                'prototype' => true,
                'allow_add' => true,
                'allow_delete'  => true,
                'by_reference'  => false,
            ])
            ->add('ajout', ButtonType::class, [
                'attr' => ['id' => 'add_activity']
            ])
        ;
    }

 public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('hours')
            ->add('user')
            ->add('materials', EntityType::class, [
                'class' => Materials::class,
                'label' => "matériel utilisé",
                'choice_label' => 'name',
            ])
            ->add('activity', EntityType::class, [
                'class' => Activity::class,
                'label' => "activité",
                'choice_label' => "name"
            ])
        ;
    }

Merci d'avance pour votre aide.

Seb

Aucune réponse