Partage
  • Partager sur Facebook
  • Partager sur Twitter

recuperation de donnees avec le repository

Sujet résolu
    16 janvier 2020 à 9:45:11

    bonjour a tous ,

    j'ai un soucis avec mes repository

     public function voir_projet(Projet $projet,Request $request, ObjectManager $manager)
        {
            /**Creer des contrainte et inserer dans la table intermediaire "Projets_contrainte" **/
            $form=$this->createForm(ProjetContrainteType::class,$projet);
            $form->handleRequest($request);
    
            //utiliser le repo pour recuperer toutes les agents affectés sur une la mission $ProjetPhaseMetierMission
            
            $repo_user=$manager->getRepository(MissionUser::class);
            $missionusers=$repo_user->findAll();
         
            $repo_mission=$manager->getRepository(Mission::class);
            $missions=$repo_mission->findAll();
    
            // $repo_projet=$em->getRepository(Projet::class);
            // $projets=$repo_projet->findAll();
    
            $repo_phase=$manager->getRepository(ProjetPhase::class);
            $projetphases=$repo_phase->findAll();
    
            $repo_metier=$manager->getRepository(ProjetPhaseMetier::class);
            $projetphasemetiers=$repo_metier->findAll();
    
            $repo_mission=$manager->getRepository(ProjetPhaseMetierMission::class);
            $projetphasemetiermissions=$repo_mission->findAll();
    
            $repo_DE=$manager->getRepository(ProjetPhaseMetierMissionDonneesDentree::class);
            $donneeEntrees=$repo_DE->findAll();
    
            // $projets = array_unique($projets,SORT_REGULAR);
    
            //verifier si le form est envoyer et valide 
           if($form->isSubmitted()&&$form->isValid())
           {          
               $manager->flush();           
           }
    
              /**Inserer des photos pour le projet **/
            $photo= new Photo();
            $formPhotos = $this->createForm(PhotoType::class, $photo);
            $formPhotos->handleRequest($request);
    
           if($formPhotos->isSubmitted()&&$formPhotos->isValid())
           {
               //inserer la valeur de l ID du projet dans l'entité photo
                $photo->setProjetId($projet);
                $file = $photo->getPhoto();
                //changer le nom du fichier photo
                $fileName=md5(uniqid()).'.'.$file->guessExtension();
                //deplacer vers un dossier  
                $file->move($this->getParameter('photos_directory'),$fileName);
                //inserer le nom du fichier dans l'entié photo
                $photo->setPhoto($fileName);       
               // $manager->persist($photo);
                $manager->flush();
           }
           
            return $this->render('projet/voir_ajout.html.twig', [
                'projet'=>$projet, 
                'form'=>$form->createView(),     
                'formPhotos'=>$formPhotos->createView(),
                'missionUsers'=> $missionusers,
                'missions'=> $missions,
                'projetPhases'=> $projetphases,
                'projetPhaseMetiers'=> $projetphasemetiers,
                'projetPhaseMetierMissions'=> $projetphasemetiermissions,
                'donneeEntrees' => $donneeEntrees,
            ]);
        }

    dans le twig je recupere bien les forms, projet, projetPhaseMetierMissions .....

    mais pour donneeEntrees, missionUsers il me dit la variable n'existe pas

    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2020 à 10:18:05

      Salut,

      D'instinct je pense à une faute de frappe ^^. Peux tu partager ta vue stp ?

      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2020 à 11:02:02

        salut,

        je pense pas parce que je fait directement un {{dump(variable)}}  dans la vue les autres il les affiches  mais pas ceux que j'ai dit

        j'ai rien qui les affiche pour l'instant dans le vue j'ai juste essayer d'utiliser les variables il me dit il existe pas.

        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2020 à 16:39:04

          N'empêche que sans voir ton code en entier je ne peux pas trop t'aider :)
          • Partager sur Facebook
          • Partager sur Twitter
            17 janvier 2020 à 9:02:19

            je voulais t'epargnier la pein 
             {% for projetPhase in projetPhases %}
                                        {% if projetPhase.projet.id == projet.id %}
                                            <div class="col-11 m-2" style="border:solid 1px; border-radius:5px">
                                                <h6>{{projetPhase.phase.acronyme}}</h6>
                                                <p>Pour pouvoir ajouter une donnée d'entrée, il faut avoir une mission sur ce projet</p>
                                                <div class="row">
                                                    {% for projetPhaseMetier in projetPhaseMetiers %}
                                                        {% if projetPhase.id == projetPhaseMetier.projetPhase.id %}
                                                            {% for projetPhaseMetierMission in projetPhaseMetierMissions %}
                                                                {% if projetPhaseMetier.id == projetPhaseMetierMission.projetPhaseMetier.id %}   
                                                                    <div class="col-2 m-2">
                                                                        <p>{{projetPhaseMetierMission.mission.nom}}</p>
                                                                        <a class="btn btn-success" href="{{path('ajout_donnee_d_entree', {'idprojet': projetphase.projet.id ,'idMission': projetPhaseMetierMission.id })}}">
                                                                            Ajouter une donnée d'entrée
                                                                        </a>
                                                                        <div class="row">
                                                                            {#% for donneeEntree in donneeEntrees %}
                                                                            {% if projetPhaseMetierMission.id == donneeEntree.projetPhaseMetierMission.id %}
                                                                            <div class="col-12 m-2">
                                                                                <a class="col m-2 btn btn-default">{{donneeEntree.donneeDentree.nom}}</a>
                                                                            </div>
                                                                            {% endif %}
                                                                            {% endfor %#}
                                                                        </div>
                                                                    </div>
                                                                {% endif %}
                                                            {% endfor %}
                                                        {% endif %}
                                                    {% endfor %}
                                                </div>
                                            </div>
                                        {% endif %}
                                    {% endfor %}
             

            -
            Edité par mhd15 17 janvier 2020 à 9:08:51

            • Partager sur Facebook
            • Partager sur Twitter
              17 janvier 2020 à 14:38:32

              Ce n'est pas une vue "include" dans la vue chargée par ton action ?

              Peux tu transmettre une capture de l'erreur stp ?

              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2020 à 8:11:40

                non c 'est dans la meme page

                    {% if route != 'tous_projets_section' %}
                                        {% if projetphase.projet.id == projet.id %}
                                            <div class="col-11 m-2"  style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); background: white; border:solid 1px; border-radius:5px">
                                                <h6>{{projetphase.phase.acronyme}}</h6>
                                                <p>Pour pouvoir ajouter une donnée d'entrée, il faut avoir une mission sur ce projet</p>
                                                <div class="row">
                                                    {% for projetPhaseMetierMission in projetPhaseMetierMissions %}
                                                        {% for missionuser in missionsUser %}
                                                            {% if projetPhaseMetierMission.id == missionuser.mission.id %}
                                                               
                                                               {{dump(donneeEntrees)}}
                                                            {# {% for projetPhaseMetierMission in projetPhaseMetierMissions %} #}
                                                            {# TODO #}
                                                            {# Il semble que cette boucle se fasse plus que prévu --> à modifier #}
                                                                {# {% if projetPhaseMetier.id == projetPhaseMetierMission.projetPhaseMetier.id %}    #}
                                                                    {# <div class="col-2 m-2">
                                                                        <p>{{projetPhaseMetierMission.mission.nom}}</p>
                                                                        <a class="btn btn-success" href="{{path('ajout_donnee_d_entree', {'idprojet': projetphase.projet.id ,'idMission': projetPhaseMetierMission.id })}}">
                                                                            Ajouter une donnée d'entrée
                                                                        </a>
                                                                        <div class="row"> #}
                                                                            {# TODO boucle test #}
                                                                            {# {% for projetPhaseMetierMissionDonneesDentree in projetPhaseMetierMissionsDonneesDentrees %} #}
                                                                                    {# {% if projetPhaseMetierMissionDonneesDentrees.id == projetPhaseMetierMission.projetPhaseMetierMissionDonneesDentrees.id %}   
                                                                                    <div class="col-2 m-2">
                                                                                    <p>{{projetPhaseMetierMission.projetPhaseMetierMissionDonneesDentrees.id}}</p>
                                                                                    <a class="btn btn-success" href="{{path('ajout_donnee_d_entree', {'idprojet': projetphase.projet.id ,'idMission': projetPhaseMetierMission.id })}}">
                                                                                    Ajouter une donnée d'entrée
                                                                                    </a>
                                                                                    <div class="row">
                                                                                    {# TODO #}
                                                                                    {# Boucler sur les données d'entrée de la mission pour les lister #}
                                                                                    {#</div>
                                                                                    </div> #}
                                                                                    {#{% endif %} #}
                
                                                                            {# {% endfor %} #}
                                                                            {# Boucler sur les données d'entrée de la mission pour les lister #}
                                                                        {# </div>
                                                                    </div> #}
                                                                
                                                            {% endif %}
                                                        {% endfor %}
                                                        {# {% endif %} #}
                                                    {% endfor %}
                                                </div>
                                            </div>
                                        {% endif %}


                j'ai un peux changer la vu

                -
                Edité par mhd15 20 janvier 2020 à 8:13:04

                • Partager sur Facebook
                • Partager sur Twitter
                  21 janvier 2020 à 9:10:07

                  une personne a une idée ????
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 janvier 2020 à 15:06:48

                    Salut,

                    Peux tu mettre le code entier de ta vue stp ? Ton problème est simple mais pas évident. Ouais c'est un peu un contre sens xD. 

                    Je n'ai pas vraiment d'idée, avec ce que tu montres, tout à l'air normal, la on va avoir besoin de voir toutes les lignes histoire de s'assurer qu'il n'y a pas un os en dehors du code que tu as partagé.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 janvier 2020 à 15:38:04

                      merci je viens de trouvé la solution c 'est un probleme de route j'ai utiliser une autre route qui contien les memes variables a part c 'elle qui bug 

                      en tout les cas merci encors 

                      • Partager sur Facebook
                      • Partager sur Twitter

                      recuperation de donnees avec le repository

                      × 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