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] Probléme Formulaire


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
    Septembre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 16
    Par défaut [Symfony] Probléme Formulaire
    Bonsoir j'ai j'ai deux entités Fichier_Recu (1,n) <==> (1,1) Etab_FR créer ,et j ai crée un formulaire qui contient des champs qui s'ajoutent automatiquement mais lorsque je clique sur le bouton charger les données concernant l entité Fichier_Recu sont bien ajouté a la BDD mais les autres concernant Etab_FR ne le sont pas. voici mon code :

    Fichier_recu.php
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?php
     
    namespace CUDS\PlatformBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Component\Validator\Constraints as Assert;
     
     
    /**
     * Fichier_Recu
     *
     * @ORM\Table()
     * @ORM\Entity(repositoryClass="CUDS\PlatformBundle\Entity\Fichier_RecuRepository")
     * @ORM\HasLifecycleCallbacks
     */
    class Fichier_Recu
    {
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;
     
     
        /**
         * @var \DateTime
         *
         * @ORM\Column(name="date_recep", type="date")
         */
        private $dateRecep;
     
        /**
         * @var string
         *
         * @ORM\Column(name="nom_expediteur", type="string", length=255)
         */
        private $nomExpediteur;
     
        /**
         * @var string
         *
         * @ORM\Column(name="email_expediteur", type="string", length=255)
         */
        private $emailExpediteur;
     
        /**
         * @ORM\Column(name="path", type="string", length=255, unique=true)
        */
        private $path;
     
        /**
         * @ORM\Column(name="etat", type="boolean", nullable=true)
        */
       private $etat = 0;
     
        /**
         * @ORM\ManyToOne(targetEntity="CUDS\PlatformBundle\Entity\Universite")
         * @ORM\JoinColumn(name="universite_id", referencedColumnName="id")
        */
       private $universite;
     
       /**
         * @ORM\ManyToOne(targetEntity="CUDS\UserBundle\Entity\User")
        */
       private $user;
     
       /**
         * @ORM\ManyToOne(targetEntity="CUDS\PlatformBundle\Entity\Traitement")
         * @ORM\JoinColumn(name="trait_id", referencedColumnName="id")
        */
       private $traitement;
     
       /**
        * @Assert\File(maxSize="6000000")
       */
        private $file;
     
        /**
         * @ORM\OneToMany(targetEntity="CUDS\PlatformBundle\Entity\Etab_FR", mappedBy="fichier_recu")
        */
      private $etab_fr;
     
     
    }

    Etab_FR.php

    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
    <?php
     
    namespace CUDS\PlatformBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
     
    /**
     * Etab_FR
     *
     * @ORM\Table()
     * @ORM\Entity(repositoryClass="CUDS\PlatformBundle\Entity\Etab_FRRepository")
     */
    class Etab_FR
    {
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        private $id;
     
        /**
         * @var integer
         *
         * @ORM\Column(name="global", type="integer")
         */
        private $global;
     
        /**
         * @ORM\ManyToOne(targetEntity="CUDS\PlatformBundle\Entity\Fichier_Recu", inversedBy="etab_fr")
         * @ORM\JoinColumn(name="fichier_recu_id", referencedColumnName="id")
        */
       private $fichier_recu;
     
       /**
         * @ORM\ManyToOne(targetEntity="CUDS\ExploitationBundle\Entity\Etablissement")
         * @ORM\JoinColumn(name="etab_id", referencedColumnName="code_etab")
        */
       private $etablissement;
     
     
    }
    Fichier_RecuType.php

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <?php
     
    namespace CUDS\PlatformBundle\Form;
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
     
    class Fichier_RecuType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('dateRecep','date', array(
                'input' => 'datetime',
                'widget' => 'single_text'))
     
                ->add('nomExpediteur', 'text')
                ->add('emailExpediteur', 'email')
                ->add('file')
     
                ->add('universite', 'entity', array(
                       'class'    => 'CUDSPlatformBundle:Universite',
                       'property' => 'univ_fr',
                       'empty_value' => '-- Choisissez une universite --',
                       'multiple' => false,
                       'expanded' => false
                      ))
                ->add('traitement', 'entity', array(
                       'class'    => 'CUDSPlatformBundle:traitement',
                       'property' => 'trait',
                       'empty_value' => '-- Choisissez un traitement --',
                       'multiple' => false,
                       'expanded' => false
                      ))
     
                ->add('user', 'entity', array(
                       'class'    => 'CUDSUserBundle:User',
                       'property' => 'username',
                       'empty_value' => '-- Choisissez un utilisateur --',
                       'multiple' => false,
                       'expanded' => false
                      ))
                 ->add('etab_fr', 'collection', array(
                        'type'         => new Etab_FRType(),
                        'allow_add'    => true,
                        'allow_delete' => true
                      ))
     
                ;
        }
     
        /**
         * @param OptionsResolverInterface $resolver
         */
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'CUDS\PlatformBundle\Entity\Fichier_Recu'
            ));
        }
     
        /**
         * @return string
         */
        public function getName()
        {
            return 'cuds_platformbundle_fichier_recu';
        }
    }
    Etab_FRType.php

    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
    <?php
     
    namespace CUDS\PlatformBundle\Form;
     
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
     
    class Etab_FRType extends AbstractType
    {
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
     
                ->add('global','text')
                ->add('etablissement','entity', array(
                       'class'    => 'CUDSExploitationBundle:Etablissement',
                       'property' => 'etab_abrv',
                       'empty_value' => '-- Fichier recu correspondant --',
                       'multiple' => false,
                       'expanded' => false
                      ))
            ;
        }
     
        /**
         * @param OptionsResolverInterface $resolver
         */
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'CUDS\PlatformBundle\Entity\Etab_FR'
            ));
        }
     
        /**
         * @return string
         */
        public function getName()
        {
            return 'cuds_platformbundle_etab_fr';
        }
    }
    voici le resultat:

    Nom : Capture.JPG
Affichages : 117
Taille : 84,3 Ko

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 32
    Par défaut
    Bonjour,

    En ajoutant un persist dans ton entité Fichier_recu ça ne résoudrait pas ton problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /**
         * @ORM\OneToMany(targetEntity="CUDS\PlatformBundle\Entity\Etab_FR", mappedBy="fichier_recu",cascade={"persist"})
        */
      private $etab_fr;

Discussions similaires

  1. [2.x] Problème formulaire avec symfony
    Par ahmedpa dans le forum Symfony
    Réponses: 2
    Dernier message: 16/07/2015, 08h55
  2. [2.x] Problème formulaire Symfony 2
    Par shadeNbc dans le forum Symfony
    Réponses: 6
    Dernier message: 07/07/2014, 14h31
  3. Réponses: 10
    Dernier message: 11/05/2008, 18h49
  4. problème formulaire tabulaire
    Par jax69 dans le forum Access
    Réponses: 2
    Dernier message: 05/09/2005, 11h28
  5. Problème Formulaire + popup + page PHP
    Par Invité dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/02/2005, 00h10

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