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 :

Symfony 4.2 : charger FORM pour les cours passés


Sujet :

Symfony PHP

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

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

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut Symfony 4.2 : charger FORM pour les cours passés
    Bonjour à tous,
    J'ai un système qui fonctionne et qui me charge la liste des cours depuis une entité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            ->add('cours', EntityType::class, array(
              'class' => Cours::class,
              'label' => false,
              'placeholder' => 'Cours',
              'required' => true,
              'choice_label' => 'nomUe',
              'attr' => array('class' => 'custom-select')
            ))
    Ce qui donne :
    Nom : OKID.png
Affichages : 115
Taille : 6,9 Ko
    Je récupère en aval l'id de l'élément choisie pour l'insérer en base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cours = $form['cours']->getData()->getId();
    Je souhaiterai charger les noms en respectant certaines conditions(par exemple : charger seulement les noms qui ont un id matchant avec une autre table).
    Comment faire cela simplement?

    Merci d'avance

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Salut,

    Je crois que tu peux utiliser le queryBuilder https://symfony.com/doc/current/refe...r-the-entities

  3. #3
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    Selon ce que tu veux faire, tu peux faire une jointure avec l'autre table (voir relations doctrine), ou tu peux utiliser la fonction WHERE IN de sql, tu lui passes la liste des ids de ton autre table pour filtrer.

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

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

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut
    Merci pour vos retours!
    J'ai 2 petites questions. voici ce que j'ai pu écrire:
    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
    use App\Entity\Utilisateur;
     
        $etudiant = $this->getUser();
     
        $builder
            ->add('cours', EntityType::class, [
              'class' => Cours::class,
              'query_builder' => function (EntityRepository $er) {
                  return $er->createQueryBuilder('c')
                      ->innerJoin('c.id', 'cp', 'c.id = cp.id')
                      ->where('ec.etudiant = "'.$etudiant.'"')
                      ->orderBy('c.nomUe', 'ASC');
              },
              'choice_label' => 'nomUe',
            ])
    Question 1 : Je fais une jointure vers la table "cp", mais à aucun moment je définie que "cp" signifie se rapporte à l'entité CoursPlanning. Quand/où le faire svp?
    Question 2 : J'ai une erreur en essayant de récupérer mon utilisateur :
    Nom : koko.png
Affichages : 95
Taille : 34,6 Ko
    Une idée?

    Merci !

  5. #5
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Points : 2 006
    Points
    2 006
    Billets dans le blog
    1
    Par défaut
    De mémoire, $this->getUser() n'est utilisable que dans un controller.

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

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

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut
    Merci pour ton retour.
    Si quelqu'un a une idée du comment je peux récupérer mon utilisateur depuis ici, je suis preneur!
    merci

  7. #7
    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 : 47
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Bonjour Zarkoff,

    J'ai répondu à cette question dans ce sujet . Et voici un lien que j'y ai communiqué pour passer l'identifiant de l'utilisateur à ton formulaire

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/08/2009, 20h20
  2. Merci pour les cours et tutoriels pour apprendre PHP
    Par uccello dans le forum Langage
    Réponses: 2
    Dernier message: 28/07/2009, 19h26
  3. Rubrique favori pour les cours, les blogs, etc.
    Par panda31 dans le forum Evolutions du club
    Réponses: 0
    Dernier message: 01/12/2008, 08h48
  4. Parcourir les Form pour les fermer
    Par David dans le forum Delphi
    Réponses: 8
    Dernier message: 04/12/2006, 13h29

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