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 :

Récupérer la sélection d'un champ d'un formulaire de type entity


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 184
    Points : 46
    Points
    46
    Par défaut Récupérer la sélection d'un champ d'un formulaire de type entity
    Bonsoir,

    J'aurais une question concernant le type entity avec choix multiple (liste d'entité), comment fait-on pour récupérer la sélection dans le controller ?

    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
     
        public function modifierAction($id)
        {
    		$repository = $this->getDoctrine()->getManager()->getRepository('Bundle:ConfBriques');
     
    		$brique = $repository->find($id);
     
    		$form = $this->createForm(new ConfBriquesType, $brique, array('id' => $brique->getId()));
     
    		$request = $this->get('request');
     
    		if($request->getMethod() == 'POST')
    		{
    			$form->bind($request);
     
    			if($form->isValid())
    			{
                                    //Le foreach me permet d'ajouter la selection mais je trouve ça pas logique ...
    				foreach($brique->getApplications()->toArray() as $application)
    					$brique->addApplication($application);
     
    				$em = $this->getDoctrine()->getEntityManager();
    				$em->persist($brique);
    				$em->flush();
     
    				return $this->redirect($this->generateUrl('meteo_applis_admin_briques'));
    			}
    		}
     
            return $this->render('MeteoApplisAdminBundle:Admin:Briques/briques_modifier.html.twig', array(
    			'brique' => $brique,
    			'form' => $form->createView(),
    		));
        }
    Merci.

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Le foreach me permet d'ajouter la selection mais je trouve ça pas logique ...
    foreach($brique->getApplications()->toArray() as $application)
        $brique->addApplication($application);
    ... pour être honnête moi non plus je ne trouve pas ça logique !

    Si je traduis en français ton code : "chaque application présente dans ma brique, j'aimerais que tu l'ajoutes à ma brique".

    Si ton formulaire est bien construit c'est le bind qui te permet de récupérer tous les champs que tu avais dans ton formulaire quel qu'en soit le type : que ce soit un champ texte, un champ entity multiple ou même une collection. Pour vérifier le contenu de ton objet je t'invite à faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \Doctrine\Common\Util\Debug::dump($brique)
    à la place de ta boucle foreach, tu verras qu'elle ne sert à rien car soit effectivement tu ne récupères aucune application, et dans ce cas tu ne rentres pas dans ta boucle, ou bien tu les récupères correctement mais tu ajoutes des applications déjà présentes à ton objet brique.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/09/2013, 16h18
  2. Réponses: 1
    Dernier message: 25/05/2011, 15h43
  3. Récupérer la valeur d'un champ du sous formulaire
    Par integrale dans le forum IHM
    Réponses: 3
    Dernier message: 19/03/2007, 11h14
  4. Réponses: 3
    Dernier message: 02/12/2005, 04h16
  5. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45

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