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 :

Organisation / Compréhension de formulaire [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 39
    Par défaut Organisation / Compréhension de formulaire
    Bonjour à tous !

    Je débute tout juste avec Symfony 2. J'ai passé le début de la semaine à lire la documentation de découverte proposée par Symfony, et maintenant j'essaye de mettre en pratique tout ça avec un cas concret.

    Mais... je rencontre un problème, et je ne sais pas comment le résoudre en ayant une "bonne pratique".

    Je souhaite gérer des lieux et des catégories de lieux. J'ai en base de données 2 tables "place" & "category" ayant une relation 1..n. (1 catégorie peut avoir plusieurs lieux).

    Je souhaite développer le formulaire de création de lieux (qui contient 4 champs : id, category_id, name, address). Le formulaire doit proposer une liste "select" pour les catégories, et des champs textes pour "name" et "address".
    A priori, rien de plus simple.

    J'ai donc :
    1 controller "AddPlace"
    1 entity "Category"
    1 entity "Place"
    1 formType "CategoryType"
    1 formType "PlaceType"
    1 EntityRepository "CategoryRepository"

    Mais ça se complique maintenant :
    - Question 1 : Je voudrais préremplir une selectbox avec toutes les valeurs possibles de catégories mais je ne trouve pas comment préremplir mon champs autrement que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class CategoryType extends AbstractType {
     
    	public function buildForm(FormBuilderInterface $builder, array $options)
    	{
    		$builder->add('name', 'choice', array(
    		    'choices' => array(
    		        'choixA' => 'A',
    		        'choixB' => 'B',
    		    )
    		));
    	}
            .....
    }
    Je ne vais quand même pas faire un appel en BDD ici ? Alors comment préremplir ce champs ?

    - Question 2 : J'ai vu qu'il y avait des FormModel... dois-je en utiliser ici ?


    J'espère y voir plus clair avec votre aide, merci d'avance !

  2. #2
    Membre extrêmement actif
    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
    Par défaut
    et bien si, c'est comme ça que ça marche :

    un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
               'class' => 'Adl\HiringBundle\Entity\CandidateCampaign',
                                'property' => 'name',
                                'query_builder' => function(EntityRepository $er) {
                                        return $er->createQueryBuilder('u')
                                            ->orderBy('u.name', 'ASC');
                                    },

  3. #3
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 39
    Par défaut
    Wouaw je ne m'attendais pas à ça

    Merci pour l'info.

    Aurais-tu de la doc à ce sujet ? J'aimerai en apprendre plus.

  4. #4
    Membre extrêmement actif
    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
    Par défaut
    il y a la doc officiel, la bible de symfony2 par les créateurs de Symfony (book, cookbook, components, best practice ...) pour apprendre de A à Z

    ici le lien sur ce qui t’intéresse :
    http://symfony.com/fr/doc/current/re...es/entity.html

  5. #5
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 39
    Par défaut
    Merci Dukoid !

    J'avais vu la doc officielle, mais apparemment je l'ai lu trop vite

    Je passe le sujet à Résolu

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

Discussions similaires

  1. Organisation de mes formulaires
    Par robertisaline dans le forum Windows
    Réponses: 0
    Dernier message: 23/09/2011, 13h27
  2. [HTML 5] Organisation d'un formulaire
    Par olibara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 31/01/2010, 15h36
  3. organiser données du formulaire
    Par desmier dans le forum IHM
    Réponses: 3
    Dernier message: 09/04/2007, 22h39
  4. Réponses: 4
    Dernier message: 10/04/2006, 11h52
  5. organisation d'un formulaire de mise à jour
    Par lifecraft dans le forum ASP
    Réponses: 26
    Dernier message: 24/02/2006, 17h36

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