IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Formulaire avec une collection et un champ non mappé [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut Formulaire avec une collection et un champ non mappé
    Bonjour,

    Dans mon application j'ai une entité Recruteur qui possède notamment un nom.
    Je voudrais créer un formulaire dans lequel je pourrais lister tous les recruteurs et, en face de chacun, mettre un champ input dans lequel le user pourra rentrer un nombre.
    Lorsqu'il valide le formulaire, je boucle sur tous les recruteurs et pour chacun je regarde le nombre rentré et je fais un traitement.
    La notion de nombre n'est pas un attribut de mon recruteur, et je ne veux pas que mon user puisse modifier le recruteur.
    J'ai donc fait un premier form RecruiterForm qui renvoie un recruteur et un champ texte non mappé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder->add('theNumber', \Symfony\Component\Form\Extension\Core\Type\IntegerType::class, array('mapped' => false));
        }
     
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'MonBundle\Entity\Recruiter'
            ));
        }
    Ensuite j'ai fait un deuxième form qui utilise une Collection du form précédent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder->add('recruiter', \Symfony\Component\Form\Extension\Core\Type\CollectionType::class, array('entry_type' => RecruiterForm::class,))
                    ->add('save', \Symfony\Component\Form\Extension\Core\Type\SubmitType::class);
        }
    Ca ne fonctionne pas, il n'affiche aucun recruteur. Il manque peut-être une option dans le CollectionType ?
    Comment on pourrait faire ?
    Merci de votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    J'ai trouvé
    En fait je passe par une classe supplémentaire non mappée à la BD.
    Cette classe contient un ArrayCollection de Recruiter et mon form RecruiterForm est du data_class de cette nouvelle classe.
    Et tout marche !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaires avec une centaine de champs
    Par jackherrer57 dans le forum Débuter
    Réponses: 4
    Dernier message: 09/10/2015, 10h40
  2. [ZF 1.11] préremplir un champ d'un formulaire avec une bdd ?
    Par keokaz dans le forum Zend_Form
    Réponses: 38
    Dernier message: 05/09/2011, 00h48
  3. [AJAX] Envoi ou non d'un formulaire avec une fonction AJAX
    Par ohhh.gringo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/05/2007, 11h47
  4. Affichage de nouveau champ de formulaire avec une case à cocher
    Par breizhgen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/09/2006, 21h46
  5. Pb avec une dbgrid et un champ de type date
    Par Ellde dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/03/2005, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo