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 :

Symf 4 : récupérer l'id d'un select


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut Symf 4 : récupérer l'id d'un select
    Bonjour à tous,
    J'ai le système suivant qui fonctionne dans le cadre d'un formulaire d'insertion :
    Mon FORM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        $builder
            ->add('cours', EntityType::class, array(
              'class' => Cours::class,
              'label' => false,
              'placeholder' => 'Cours',
              'required' => true,
              'choice_label' => 'nomUe',
              'attr' => array('class' => 'custom-select')
            ))
    où nomUe est une chaine de caractère. Je récupère donc une liste de cours, et l'utilisateur sélectionne celui qu'il souhaite.
    Maintenant je voudrai insérer seulement l'id du cours, et pas son nom. Comment faire? Dans l'idée je peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
           'choice_label' => 'id',
    Ca fonctionne, mais mon utilisateur a besoin de voir les cours, pas les id.
    Comment dois-je m'y prendre?
    Ci-dessous l'entité si besoin:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <?php
     
    namespace App\Entity;
     
    use Doctrine\Common\Collections\ArrayCollection;
    use Doctrine\Common\Collections\Collection;
    use Doctrine\ORM\Mapping as ORM;
     
    /**
     * @ORM\Entity(repositoryClass="App\Repository\CoursRepository")
     */
    class Cours
    {
        /**
         * @ORM\Id()
         * @ORM\GeneratedValue()
         * @ORM\Column(type="integer")
         */
        private $id;
     
        /**
         * @ORM\Column(type="string", length=255)
         */
        private $nomUe;
        /**
         * @ORM\Column(type="integer", length=255)
         */
      public function __construct()
        {
            $this->formation = new ArrayCollection();
            $this->pointage = new ArrayCollection();
            $this->utilisateurs = new ArrayCollection();
        }
     
        public function getId(): ?int
        {
            return $this->id;
        }
     
        public function getNomUe(): ?string
        {
            return $this->nomUe;
        }
     
        public function setNomUe(string $nomUe): self
        {
            $this->nomUe = $nomUe;
     
            return $this;
        }
    Merci!

  2. #2
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Bonjour,

    Je suis pressé, alors je vais faire vite, désolé.

    Qu'est-ce qu'il se passe quand tu enregistres ?

    Je te pose la question, car cela devrait marcher. En effet, avec 'choice_label' => 'nomUe', tu ne changes que l'affichage du select, la valeur transmise (la valeur de l'option), par le formulaire reste l'identifiant. Du coup, ton enregistrement devrait fonctionner. Il nous faudrait l'erreur que tu observes ou que tu nous montres le code html généré pour ton formulaire (la partie select surtout).




    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut
    Bonjour,
    Merci pour ta réponse.
    En effet je devais récupérer cette valeur "nomUe", et du côté controller faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
          $cours = $form['cours']->getData()->getId();
          $absenceJustif->setCours($cours);
     
          $em = $this->getDoctrine()->getManager();
     
          $em->persist($absenceJustif);
          $em->flush();
    Sujet résolu! Merci encore

Discussions similaires

  1. récupérer une variable dans un select case
    Par rob2-9 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/12/2005, 10h54
  2. récupérer une valeur dans un selected
    Par lacfab dans le forum Langage
    Réponses: 6
    Dernier message: 14/12/2005, 09h48
  3. Récupérer les valeurs d'un <select> multiple
    Par vg33 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2005, 11h38
  4. Récupérer le contenu d'un select
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2005, 15h38
  5. récupérer la valeur d'un select dans un autre
    Par alexander dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2005, 19h43

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