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 :

Formulaire et Entity [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut Formulaire et Entity
    Bonjour,

    Je me casse la tête depuis plus de 3 jours maintenant. Je travail sur un projet qui à pour but finale l'obtention de mon BTS IRIS. Ce projet consiste à créer un système de gestion d'une bourse aux livre d'un lycée. je vous explique rapidement le fonctionnement d'une bourse aux livres. J'ai comme consigne d'utiliser le framework Symfony 2


    Dans le cadre de mon application web sous Symfony 2 :

    3 Postes Informatique :

    1er Poste Consiste à identifier un élève, vérifier ses informations personnel et d'afficher la liste des livres dont l'élève à besoin pour l'année.

    2ème Poste : à partir de la liste imprimer de l'étape 1. on scan l'ensemble des livres de l'élève

    3 ème étape génération d'une facture en fonction des livres que l'élève à pris.

    Donc moi j'en suis à l'étape 1. déjà effectué la recherche d'un élève maintenant je m'attaque à un problème qui en php normal n'est pas un soucis !

    le formulaire qui permet de vérifier les informations de l'élèves (Classe, Option, Nom, Prénom Date de naissance et l’ensemble des informations sur le responsable légale). Mon soucis est sur ce formulaire.

    J'ai réalisé une maquette en image pour vous illustré ceci



    J'ai réaliser la première partie du formulaire mais lorsque j'essai d'ajouté des champs d'une autre Entity j'ai des message d'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $builder
                ->add('nom', 'text', array('label' => 'Nom :', ))
                ->add('prenom', 'text')
                ->add('dateNaissance', 'birthday', array('widget' => 'text', 'format' => 'd-M-y','pattern' => "{{ day }}/{{ month }}/{{ year }}",));
    J'ai vraiment besoin de votre aide je vous en supplie Merci beaucoup si vous souhaitez avoir plus de précision n'hésitez pas (Dsl pour les fautes si il y en n'a)

    PS : la question Comment faire pour gérez les champs d'une autre entité ?

  2. #2
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut
    un champ peut être de type "form", c'est à dire de type "AbstractType":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    $builder->add('classe', new ClasseType());
    $builder->add('options', new OptionType());
    $builder->add('parents', new ParentsType());
    ....
    voir ce paragraphe: http://symfony.com/doc/2.0/book/form...embedded-forms

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut
    Merci je vais essayer !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 17
    Par défaut
    Re:

    Du coup j'ai créer un nouveau Type je l'ai appelé EditType

    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
    <?php
     
    namespace LGB\BourseLivresBundle\Form;
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilder;
     
    class EditType extends AbstractType
    {
        public function buildForm(FormBuilder $builder, array $options)
        {
            //$builder->add('Classe', new ClasseType());
            //$builder->add('Options', new OptionType());
            $builder->add('Parents', new ParentsType());
            $builder->add('Eleve', new EleveType());
        }
     
        public function getName()
        {
            return 'lgb_bourselivresbundle_edit';
        }
     
        public function getDefaultOptions(array $options)
        {
            return array(
                'data_class' => 'LGB\BourseLivresBundle\Entity\Eleve', 
            );// ici faut que je met ça ?
        }
    }
    Mais j'ai une erreur Neither property "Parents" nor method "getParents()" nor method "isParents()" exists in class "LGB\BourseLivresBundle\Entity\Eleve" à mon avis c'est cette ligne ou il y a un soucis 'data_class' => 'LGB\BourseLivresBundle\Entity\Eleve',

    Merci pour ton aide

  5. #5
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut
    Je n'ai pas une idée à propos tes entités, mais vous pouvez utiliser "property_path" , pour dire qu'une tel propriété ne doit être "mapped" dans l'entité:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $builder->add('Parents', new ParentsType(), array("property_path" => false));

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Par défaut
    Tu peux nous afficher ta classe Eleve??

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

Discussions similaires

  1. [2.x] Formulaire champs entity et récupération twig
    Par bloodangel78 dans le forum Symfony
    Réponses: 10
    Dernier message: 24/07/2013, 14h29
  2. [2.x] [Form] Réaliser un simple formulaire Entity Field Type
    Par Lex92 dans le forum Symfony
    Réponses: 10
    Dernier message: 25/09/2012, 12h21
  3. [2.x] Récuperer entitié dans twig depuis un formulaire 'entity'
    Par Rosaly- dans le forum Symfony
    Réponses: 4
    Dernier message: 03/07/2012, 10h09
  4. [2.x] Formulaire et Entity Field
    Par Sports dans le forum Symfony
    Réponses: 0
    Dernier message: 06/06/2012, 18h38
  5. [2.x] Formulaire : entity et select
    Par clisson dans le forum Symfony
    Réponses: 5
    Dernier message: 13/03/2012, 10h58

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