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ération d'objet de la bdd dans une classe de formulaire


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 27
    Points : 21
    Points
    21
    Par défaut récupération d'objet de la bdd dans une classe de formulaire
    Bonjour.
    Je suis confronté au problème suivant:
    Dans un formulaire permettant d'hydrater un objet de la classe "Classe1" je voudrai que l'utilisateur aie accès à un champ liste de sélection. Cette liste doit être remplie par des valeurs de chaque objet d'une classe "Classe2" qui est en relation avec Classe1.

    La solution que j'ai trouvé et qui n'est pas adaptée à ce que je veux:
    En imbriquant les formulaires Classe2Type dans Classe1Type, j’obtiens un champ texte là où je souhaiterai plutot avoir une liste.

    En construisant directement mon formulaire dans le contrôleur sans utiliser les classes de formulaire, mais là mon formulaire n'est pas réutilisable.

    Je souhaite donc savoir si quelqu'un a une solution pour récupérer les objets de Classe2 dans Classe1Type afin de les mettre manuellement dans un champ "choices", ou alors toute autre solution.

    merci.

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    adapte ce code


    // --------- L'option querybuilder
    xxxxxType
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class ArticleRepository extends EntityRepository {
      public function getSelectList()  {
        $qb = $this->createQueryBuilder('a')
               ->where('a.publication = 1'); // On filtre sur l'attribut publication
     
        // Et on retourne simplement le QueryBuilder, et non la Query, attention
        return $qb;
      }

    dans builder de form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ->add('article', 'entity', array(
      'class'        => 'SdzBlogBundle:Article',
      'property'     => 'titre',
      'querybuilder' => function(\Sdz\BlogBundle\Entity\ArticleRepository $r) {
        return $r->getSelectList();
      }

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2012, 15h41
  2. [PHP 5.3] Instance de BDD dans une classe qui cause une exception
    Par lamouche42 dans le forum Langage
    Réponses: 5
    Dernier message: 29/10/2011, 12h13
  3. 2 objets de même type dans une classe
    Par _R3nO_ dans le forum Hibernate
    Réponses: 2
    Dernier message: 28/02/2007, 16h12
  4. Réponses: 2
    Dernier message: 04/06/2006, 20h11
  5. Créer une liste d'objets statiques dans une classe
    Par crossbowman dans le forum C++
    Réponses: 3
    Dernier message: 13/03/2006, 09h11

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