Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire pour remplir un CV en symfony 3

Sujet résolu
    14 novembre 2018 à 12:28:03

    Bonjour, je dois afficher dans une page le cv d'un médecin qui détaille que les parcours académiques et les experiences en cliniques. Ainsi je me pose toutes genres de question.Dois je faire ceci avec un formulaire ? Quelles doivent être les entités à créer ? Sachant que le CV appartient à un médecin

    Voici l'image de ce que doit être le rendu de la page :

    capture du rendu du cv

    Voilà, si quelqu'un peut m'aider pour un début, merci beaucoup

    -
    Edité par msacko796 14 novembre 2018 à 12:29:44

    • Partager sur Facebook
    • Partager sur Twitter
      14 novembre 2018 à 14:47:51

      Bonjour,

      Avant de parler technique informatique, il me semble qu'il y a quelques points à évaluer :

      - d'où viennent les informations ? d'un CV déjà disponible ? sous forme papier ? sous forme numérique ? Sont-elles déjà sous le format attendu en sortie ?

      - qui va saisir les informations ? Les médecins ? une structure particulière dédiée à la saisie ?

      - quel effort acceptable pour l'initialisation des informations ?

      Les réponses vont induire la solution à mon avis.

      A+

      • Partager sur Facebook
      • Partager sur Twitter
        14 novembre 2018 à 15:39:36

        Bonjour, 

        L'image du format attendu en sortie est juste fait en html dans mon twig.

        C'est chaque médecin qui saisit ses informations lui concernant.

        Au fait chaque médecin doit saisir ses infos pour avoir une visibilité claire de sa carrière, mais si aucune info n'est renseigné ces parcours seront vides et rien n'apparaitra à l'affichage.

        Merci

        • Partager sur Facebook
        • Partager sur Twitter
          14 novembre 2018 à 15:52:16

          Si les médecins veulent bien saisir ... ;)

          J'élimine donc :

          - la solution où il y a affichage d'un pdf d'un CV déjà disponible d'un médecin

          - la solution où la mise en forme serait faite au moment de la saisie avec un éditeur html wysiwyg

          Reste donc, pour moi, le formulaire qui permettrait de saisir les informations selon les rubriques de restitution. La mise en forme des données étant faite par la vue de restitution.

          A+

          -
          Edité par monkey3d 14 novembre 2018 à 15:52:55

          • Partager sur Facebook
          • Partager sur Twitter
            14 novembre 2018 à 16:21:09

            Si vraiment les médecins veulent bien saisir. C'est ça l'imbroglio du sujet. Et je sens que t'es réticent pour cette démarche.

            Quelle est selon vous la solution la plus simple pour un utilisateur ?

            Dans mon espace médecin, il y avait une zone de texte où je lui donnais la possibilité de saisir ces informations et de les mettre en forme(gras,italique,puce) aussi, mais comme on veut juste que ses parcours académiques et expériences en cliniques. Mais ça c'est si ils veulent bien faire la mise en forme.C'est pourquoi j'ai pensé à cette idée de formulaire qui peut marcher, mais n'ayant pas de point de départ.

            Merci

            • Partager sur Facebook
            • Partager sur Twitter
              14 novembre 2018 à 16:21:52

              Salut,

              Le fonctionnement serait peut être un formulaire pour permettre de remplir leur "profil" et le modifier au besoin.

              Tu peut alors stocker ces informations en BDD et les récupérer pour les afficher sur une page de CV?

              Dis-moi si j'ai bien compris ta problématique.

              • Partager sur Facebook
              • Partager sur Twitter
                14 novembre 2018 à 16:37:50

                @Shiyo, c'est un peu ça. Donc moi je me demande si c'est possible avec un formulaire, sachant qu'un médecin A peut renseigner par exemple 2 experiences cliniques tandis qu'un médecin B peut en renseigner 3, donc c'est quelque chose qui n'est pas fixe. 

                Donc voilà c'est ça. Et je sais pas comment je vais implémenter cela.

                Merci

                • Partager sur Facebook
                • Partager sur Twitter
                  14 novembre 2018 à 17:23:54

                  msacko796 a écrit:

                  @Shiyo, c'est un peu ça. Donc moi je me demande si c'est possible avec un formulaire, sachant qu'un médecin A peut renseigner par exemple 2 experiences cliniques tandis qu'un médecin B peut en renseigner 3, donc c'est quelque chose qui n'est pas fixe. 

                  Donc voilà c'est ça. Et je sais pas comment je vais implémenter cela.

                  Merci


                  tu peux créer dynamiquement les champs( ou un  groupe de champs) d'un formulaire. Le médecin clique sur le bouton ajouter "Expérience cliniques" pour ajouter une expérience clinique et éventuellement un bouton supprimer pour supprimer une expérience de trop. Avec SF4 on crée des champs dynamiques à l'aide d'une CollectionType.

                  Pour ce qui est de la modélisation des entités, une expérience clinique peut être une entité avec pour propriétés: date debut, date fin, nom clinique, lieu, description du poste ...

                  Après pour la saisie du CV rien ne t'empêche  de lire le CV en format docx pour pré-remplir les ton formulaire.Tu as des libs OCR qui te permettent de lire des fichiers docs, docx.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 novembre 2018 à 17:29:22

                    J'ai un peu travaillé sur un sujet où il était demandé au médecin de saisir des informations et ce fût un presque échec car il ne voulait pas y consacrer du temps ... donc si la saisie n'est pas simple et rapide je pense qu'il y a un risque d'avoir une appli sans utilisateur. Mais ce n'est pas le problème que tu poses ...

                    Donc j'ai suggéré un formulaire et c'est assez facile sous Symfony d'imbriquer un formulaire plusieurs fois :

                    Voir sur ce site le cours : https://openclassrooms.com/fr/courses/3619856-developpez-votre-site-web-avec-le-framework-symfony/3623841-creer-des-formulaires-avec-symfony

                    Paragraphe : 

                    Relation multiple : imbriquer un même formulaire plusieurs fois

                    Là où il y a le javascript.

                    A+

                    -
                    Edité par monkey3d 14 novembre 2018 à 17:29:57

                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 novembre 2018 à 18:11:47

                      @armel.mc, Oui je vois mais pour les évènements ajouter/supprimer il faudrait du javascript pour ajouter lorsque je clique sur le bouton et vice-versa pour supprimer. Je cherche la solution la plus simple pour le médecin et celle qui me prendra pas trop de temps, car je dois finir ça demain.

                      Merci

                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 novembre 2018 à 6:19:50

                        Tu n'as pas lu ce que j'ai écrit ????

                        Je t'ai donné la solution .... les références y compris avec le javascript.

                        A+

                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 novembre 2018 à 12:00:11

                          @monkey3d, si j'ai vu et j'y suis là dessus, hier j'avais un problème d'internet.

                          Merci

                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 novembre 2018 à 13:46:57

                            msacko796 a écrit:

                            @armel.mc, Oui je vois mais pour les évènements ajouter/supprimer il faudrait du javascript pour ajouter lorsque je clique sur le bouton et vice-versa pour supprimer. Je cherche la solution la plus simple pour le médecin et celle qui me prendra pas trop de temps, car je dois finir ça demain.

                            Merci


                            il n y a pas qu'une seule façon de faire.tu peux t'en passer des formulaires Symfony en écrivant des formulaires html classiques directement dans la vue. Les formulaires Symfony ne sont pas obligatoires.

                            Quant à la génération dynamiques des champs d'un formulaire tu en trouvera des tonne d'exemples sur Internet.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              15 novembre 2018 à 15:23:40

                              @monkey3d, j'ai essayé la méthode du lien que tu m'as refilé, mais lors de mon affichage de ma collection, je n'ai qu'une page blanche.

                              Voici mon FormType:

                              class MedecinCvEditType extends AbstractType
                              {
                                  public function buildForm(FormBuilderInterface $builder, array $options)
                                  {
                                      $builder->remove('user')
                                              ->remove('specialite')
                                              ->add('experiences', CollectionType::class, array(
                                                'entry_type' => ExperienceType::class,
                                                'allow_add' => true,
                                                'allow_delete' => true
                                            ));
                                  }
                              
                                  /**
                                   * @param OptionsResolver $resolver
                                   */
                                  public function configureOptions(OptionsResolver $resolver)
                                  {
                                      $resolver->setDefaults(array(
                                          'data_class' => 'Doctix\MedecinBundle\Entity\Medecin'
                                      ));
                                  }
                              
                              }

                              Et mon form ExperienceType:

                              class ExperienceType extends AbstractType
                              {
                                  public function buildForm(FormBuilderInterface $builder, array $options)
                                  {
                                      $builder->remove('user')
                                              ->remove('specialite')
                                              ->add('lieu',  TextType::class)
                                              ->add('nom', TextType::class)
                                              ->add('date_debut', DateType::class)
                                              ->add('date_fin', DateType::class);
                                  }
                              
                                  /**
                                   * @param OptionsResolver $resolver
                                   */
                                  public function configureOptions(OptionsResolver $resolver)
                                  {
                                      $resolver->setDefaults(array(
                                          'data_class' => 'Doctix\MedecinBundle\Entity\Experiences'
                                      ));
                                  }
                              
                              }

                              Et voilà ma vue pour m'afficher le formulaire

                               <div class="panel panel-info">
                                                  <div class="panel-body">
                                                      {{ form_start(form,{'attr': {'id': 'form1'}}) }}
                              
                                                       <div class="col-md-12">
                                                      <div class="form-group">
                                                         
                                                              {{ form_widget(form.experiences) }}
                                                          </div>
                                                      </div>
                              
                                                      {{ form_end(form) }}
                                                  </div>
                                                  <div class="panel-footer">
                                                      <div class="row">
                                                          <div class="col-md-offset-3 col-md-3">
                                                              <button class="btn btn-success btn-lg" form="form1"> Valider</button>
                                                          </div>
                                                          <div class="col-md-3">
                                                              <a  href="{{ path('medecin_parametre') }}" class=" btn btn-danger btn-lg">Annuler </a>
                                                          </div>
                                                      </div>
                                                  </div>
                                              </div>

                              Dans l'affichage je n'ai que ces deux boutons en sortie seulement.

                              Ainsi que mon controlleur:

                              public function cvEditAction(Request $request)
                                  {
                                      $user = $this->getUser();
                                      if ($user === null) {
                                          throw new NotFoundHttpException('Utilisateur Inexistant');
                                      } else {
                                          $em = $this->getDoctrine()->getManager();
                                          $repo = $em->getRepository('DoctixMedecinBundle:Medecin');
                                          $medecin = $repo->findOneBy(array(
                                              'user' => $user,
                                          ));
                                          $form = $this->createForm('Doctix\MedecinBundle\Form\MedecinCvEditType', $medecin);
                                          $form->handleRequest($request);
                                          if ($form->isSubmitted() && $form->isValid()) {
                              
                                              $em->flush();
                                              // creation d'un flash bag pour une notification flash
                                              $request->getSession()->getFlashBag()->add('Notice', 'Cv Modifié avec succés');
                                              // redirection
                                              $url = $this->generateUrl('medecin_parametre');
                                              // redirection permanente avec le status http 301 ::)))))
                                              return $this->redirect($url, 301);
                              
                                          } else {
                                              return $this->render('DoctixMedecinBundle:Medecin:cvedit.html.twig', array(
                                                  'form' => $form->createView()
                                              ));
                                          }
                                      }
                              
                                  }

                              Et dans la toolbar de mon symfony, voici:



                              Merci

                              • Partager sur Facebook
                              • Partager sur Twitter
                                15 novembre 2018 à 16:03:08

                                Sans lire tout avec détail, je ne pense pas que ta vue soit conforme au lien que je t'ai indiqué puisque par exemple tu n'as pas dans ta form le fameux data-prototype qui est essentiel

                                Ci-dessous un exemple qui fonctionne chez moi complètement calqué sur le lien que je t'ai indiqué. Je n'ai fait qu'adapter avec mes entités et leurs propriétés.

                                <ul id="phrases" class="phrases" data-prototype="{{ form_widget(form.phrases.vars.prototype)|e('html_attr') }}">
                                      {% for phrase in form.phrases %}
                                           <li>
                                           {{ form_errors(phrase.texte) }}
                                	   {{ form_label(phrase.texte, 'phrase_question.prop.texte' | trans ~ " " ~ loop.index) }}	
                                	   {{ form_widget(phrase.texte) }}
                                	   </li>
                                      {% endfor %}
                                </ul>

                                Par ailleurs, ou est le javascript ???? qui doit lui aussi être adapté.

                                Faut lire avec attention et jusqu'au bout. ;)

                                A+



                                • Partager sur Facebook
                                • Partager sur Twitter
                                  15 novembre 2018 à 16:59:58

                                  @monkey3d Ce que j'ai compris par le lien que tu m'as envoyé, est que le data-prototype est généré par symfony lui-même.

                                  Donc si je n'ajoute pas le javascript, je devrais pas apercevoir mon formulaire ou quoi ?

                                  J'ai bien lu jusqu'au bout, j'ai juste fais le test du formulaire pour voir comment il s'affichait et après j'allais m'attaquer au JS.

                                  Merci

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    15 novembre 2018 à 17:15:37

                                    Soit tu laisses Symfony l'ajouter soit tu le fais toi-même ... moi je l'ai ajouté selon l'exemple perso que je t'ai indiqué ci-dessus.

                                    La doc, je cite :

                                    Assez parlé, testons dès maintenant le résultat. Pour cela, actualisez la page d'ajout d'un annonce. Ah mince, le mot « Categories » est bien inscrit, mais il n'y a rien en dessous. Ce n'est pas un bug, c'est bien voulu par Symfony. En effet, comme l'entitéAdvert liée au formulaire de base n'a pas encore de catégories associées, le champCollectionType n'a encore rien à afficher ! Si on veut créer des catégories, il ne peut pas savoir à l'avance combien on veut en créer : 1, 2, 3 ou plus ?
                                    
                                    La solution, sachant qu'on doit pouvoir en ajouter à l'infini, et même en supprimer, est d'utiliser du JavaScript. OK, cela ne nous fait pas peur !

                                    Donc le comportement que tu observes me semble normal tant que tu n'as pas ajouté le javascript.

                                    Ce que je peux te dire c'est qu'en suivant la doc et en l'adaptant à ton contexte d'entité et de propriétés cela marche de suite.

                                    A+

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      15 novembre 2018 à 18:58:40

                                      Salut @monkey3d, comme tu l'as dit cela marche effectivement.Mais j'ai un problème de sauvegarde, car quand je clique sur le bouton valider, cela m'enregistre bien les infos de l'expérience, mais pas l'id du médecin auquel est affilié l'expérience. A noter que dans ma modélisation j'ai une relation ManyToMany entre mon entité Médecin et Expériences de mêmes que pour Médecin et Parcours.

                                      Dans ma bdd j'ai la relation comme telle:

                                      experiences : id, nom, lieu, date_debut, date_fin
                                      
                                      experiences_medecin : experiences_id, medecin_id

                                      J'ai eu l'enregistrement que dans la table experiences mais pas dans la seconde.

                                      Merci

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        16 novembre 2018 à 8:21:28

                                        Ton problème ne me semble pas lié à la collection de formulaires mais sans doute à tes déclarations de relation dans les entités.

                                        C'est un autre sujet.

                                        Mais cela m'interpelle une relation ManyToMany.

                                        Un médecin a plusieurs expériences : ok

                                        mais une expérience est-elle liée à plusieurs médecins ?

                                        A+

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          16 novembre 2018 à 12:49:46

                                          Pour moi,c'était une relation ManyToMany, car je suis parti du point de vue que:

                                          Un médecin a plusieurs expériences

                                          Et qu'une Expérience est liée à plusieurs médecins.

                                          Mais là je me rends compte que "Pour une expérience donnée on a un médecin"

                                          Donc cela doit être une relation OneToMany dans l'entité Médecin.

                                          Mais en réglant ces déclarations dans mon entité est ce que cela resoudrait mon problème de sauvegarde dans la bdd  @monkey3d ?

                                          Merci

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            16 novembre 2018 à 13:17:43

                                            Oui c'est ce qui me semble : une expérience est liée à un seul médecin ... c'est son expérience personnelle.

                                            D'ailleurs si tu faisais une many dans ce sens cela voudrait que plusieurs médecins peuvent modifier l'expérience ...bonjour le b****

                                            Avec un persist dans la relation, cela devrait le faire.

                                            A+

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              16 novembre 2018 à 13:42:24

                                              Non +sieurs médecins doivent pas modifier l'expérience.

                                              Donc je dois faire un ManyToOne dans l'entité médecin ?

                                              Et dans l'entité Experience ai-je besoin de faire allusion à médecin là-bas ?

                                              Merci

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                16 novembre 2018 à 14:40:11

                                                C'est bien ce que je dis une expérience appartient à un seul médecin et c'est pourquoi que je posais le problème du cas manytomany qui deviendrait vite le b***.

                                                Donc c'est bien une relation ManyToOne.

                                                Ta dernière question, je ne la comprends pas.

                                                A+

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  16 novembre 2018 à 16:18:49

                                                  OK c'est quoi votre b*** ? lol

                                                  Ma dernière question est que dans mon entité Médecin si je mets :

                                                  /**
                                                       * @ORM\ManyToOne(targetEntity="Doctix\MedecinBundle\Entity\Experiences", mappedBy="medecin", cascade={"persist", "remove"})
                                                       * @ORM\JoinColumn(nullable=true)
                                                       */
                                                      private $experiences;

                                                  Dois je ajouter un attribut medecin dans l'entité Experiences comme ci-dessous:

                                                      /**
                                                       * @ORM\OneToMany(targetEntity="Doctix\MedecinBundle\Entity\Medecin", inversedBy="experiences")
                                                       * @ORM\JoinColumn(nullable=true)
                                                       */
                                                      private $medecin;

                                                  Voilà c'était ça ma question

                                                  Merci

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    16 novembre 2018 à 16:28:38

                                                    Le b*** c'est pour dire : le bazar, le bordel ...

                                                    Oui pour l'ajout d'attribut pour avoir la relation bi-directionnelle.

                                                    ManyToOne avec une propriété experiences avec un s, il n'y aurait pas un problème ?

                                                    N'oublie pas non plus le constructeur d'arraycollection dans l'entité Medecin.

                                                    Voir la doc pour bien mettre en oeuvre tes relations.

                                                    A

                                                    -
                                                    Edité par monkey3d 16 novembre 2018 à 18:15:02

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      16 novembre 2018 à 18:08:45

                                                      tu as fais l'inverse. en fait l'entité Médecin définit la relation OneToMany ce qui se lit par un médecin a plusieurs expériences et l'entité Expérience quant à elle définit la relation ManyToOne. Sachant que JoinColum se fait sur une seule entité en l’occurrence l'entité propriétaire qui contient la clé étrangère. La doc doctrine est suffisant fourni en exemples.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        16 novembre 2018 à 21:07:01

                                                        Salut @monkey3d et @armel.mc, j'ai  bien suivi vos remarques, et quand je clique sur "valider" pour sauvegarder les données , Symfony m'affiche cette erreur:

                                                        Expected value of type "Doctix\MedecinBundle\Entity\Medecin" for association field "Doctix\MedecinBundle\Entity\Experiences#$medecin", got "Doctrine\Common\Collections\ArrayCollection" instead.


                                                        Voici mon entité Experience mis à jour:

                                                        /**
                                                             * @ORM\ManyToOne(targetEntity="Doctix\MedecinBundle\Entity\Medecin", inversedBy="parcours")
                                                             * @ORM\JoinColumn(name="medecin_id", referencedColumnName="id" , nullable=true)
                                                             */
                                                            private $medecin;

                                                        Mon entité Medecin:

                                                        /**
                                                             * @ORM\OneToMany(targetEntity="Doctix\MedecinBundle\Entity\Experiences", mappedBy="medecin",  cascade={"persist", "remove"})
                                                             */
                                                            private $experiences;

                                                        Et dans mon controlleur peut être je dois persister des éléments de l'entité medecin avec les données des Experiences et tout, et voilà comment je l'ai modifié, mais l'erreur persiste :

                                                        public function cvEditAction(Request $request)
                                                            {
                                                                $user = $this->getUser();
                                                                if ($user === null) {
                                                                    throw new NotFoundHttpException('Utilisateur Inexistant');
                                                                } else {
                                                                    $em = $this->getDoctrine()->getManager();
                                                                    $repo = $em->getRepository('DoctixMedecinBundle:Medecin');
                                                                    $medecin = $repo->findOneBy(array(
                                                                        'user' => $user,
                                                                    ));
                                                                    $form = $this->createForm('Doctix\MedecinBundle\Form\MedecinCvEditType', $medecin);
                                                                    $form->handleRequest($request);
                                                                    if ($form->isSubmitted() && $form->isValid()) {
                                                        
                                                        
                                                        /*                $medecin->getExperiences();
                                                                        $medecin->getParcours();
                                                                        $em->persist($medecin); */
                                                                        $em->flush();
                                                                        // creation d'un flash bag pour une notification flash
                                                                        $request->getSession()->getFlashBag()->add('Notice', 'Cv Modifié avec succés');
                                                                        // redirection
                                                                        $url = $this->generateUrl('medecin_parametre');
                                                                        // redirection permanente avec le status http 301 ::)))))
                                                                        return $this->redirect($url, 301);
                                                        
                                                                    } else {
                                                                        return $this->render('DoctixMedecinBundle:Medecin:cvedit.html.twig', array(
                                                                            'form' => $form->createView()
                                                                        ));
                                                                    }
                                                                }
                                                        
                                                            }



                                                        Merci encore

                                                        -
                                                        Edité par msacko796 16 novembre 2018 à 21:18:57

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          17 novembre 2018 à 7:59:06

                                                          1) as tu bien intégré le constructeur comme je te le disais ci-dessus ?

                                                          N'oublie pas non plus le constructeur d'arraycollection dans l'entité Medecin.

                                                          2) As tu re-généré les getters et setters de tes 2 entités suite à tes modifications ?

                                                          A+

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            17 novembre 2018 à 12:38:13

                                                            1) Oui je l'ai intégré : constructeur dans l'entité medecin

                                                              public function __construct()
                                                                {
                                                                    $this->assurance = new ArrayCollection();
                                                                    $this->experiences = new ArrayCollection();
                                                                    $this->parcours = new ArrayCollection();
                                                                }

                                                            Les getters/setters de l'entité Medecin:

                                                             /**
                                                                 * Get experiences
                                                                 *
                                                                 * @return \Doctrine\Common\Collections\Collection
                                                                 */
                                                                public function getExperiences()
                                                                {
                                                                    return $this->experiences;
                                                                }
                                                            /**
                                                                 * Set experiences
                                                                 *
                                                                 * @param \Doctix\MedecinBundle\Entity\Experiences $experiences
                                                                 *
                                                                 * @return Medecin
                                                                 */
                                                                public function setExperiences(\Doctix\MedecinBundle\Entity\Experiences $experiences = null)
                                                                {
                                                                    $this->experiences = $experiences;
                                                            
                                                                    return $this;
                                                                }

                                                            Les getters/setters de l'entité Experiences:

                                                            /**
                                                                 * Get medecin
                                                                 *
                                                                 * @return \Doctrine\Common\Collections\Collection
                                                                 */
                                                                public function getMedecin()
                                                                {
                                                                    return $this->medecin;
                                                                }
                                                            
                                                                /**
                                                                 * Set medecin
                                                                 *
                                                                 * @param \Doctix\MedecinBundle\Entity\Medecin $medecin
                                                                 *
                                                                 * @return Experiences
                                                                 */
                                                                public function setMedecin(\Doctix\MedecinBundle\Entity\Medecin $medecin = null)
                                                                {
                                                                    $this->medecin = $medecin;
                                                            
                                                                    return $this;
                                                                }

                                                            Le constructeur de l'entité Experiences:

                                                            /**
                                                                 * Constructor
                                                                 */
                                                                public function __construct()
                                                                {
                                                                    $this->medecin = new \Doctrine\Common\Collections\ArrayCollection();
                                                                }



                                                            Merci encore 



                                                            -
                                                            Edité par msacko796 17 novembre 2018 à 12:40:47

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              17 novembre 2018 à 13:05:09

                                                              Pourquoi mets tu un constructeur arraycollection dans Experience pour medecin puisque justement une expérience n'appartient qu'à un seul médecin (cf post ci-dessus) ..... donc ce n'est pas un array collection.

                                                              Idem pour les getters et setters de Experiences dans Medecin, il y a un problème car la c'est un array collection donc ce ne peut-être le setter que tu as mis.

                                                              Régénères les avec la commande et ainsi tu ne te poseras pas de difficulté.

                                                              Je crois qu'il faut revoir un peu le cours sur le sujet.

                                                              A+

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Formulaire pour remplir un CV en symfony 3

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown