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 :

Afficher un champ entité après requête sql


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut Afficher un champ entité après requête sql
    Bonjour,

    je fais une requête sql dans un contrôleur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $sql="SELECT v.id,v.codeVague, v.date_fin_ultime,m
                  FROM McInvestigatorBundle:Vague v
                            INNER JOIN McInvestigatorBundle:Enquete e WITH e.vague_id = v.id
                            INNER JOIN McInvestigatorBundle:Mission m WITH m.id = e.mission_id
                            INNER JOIN McInvestigatorBundle:Contrat c WITH c.id = m.contrat
                            INNER JOIN McInvestigatorBundle:User u WITH u.enqueteur_id = e.enqueteur_id
                            INNER JOIN McInvestigatorBundle:PointDeVente p WITH p.id = e.pdv_id
                  WHERE v.codeVague =".$wave_code."
                            AND e.type_id =".$type_id."
                            AND m.enqueteur_id=".$enq_id."
                            ORDER BY m.date_rea_prev ASC";
    Cette requête me retourne donc quelque chose ayant cete structure là

    Nom : 1502100596-structure.png
Affichages : 223
Taille : 4,2 Ko

    Je veux maintenant afficher dans un twig.

    Pour les champ normaux pas de problèmes...mais pour le champ de l'entité mission ça ne marche pas, je ne sais pas comment faire.

    Voilà ce que j'ai tenté.

    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
     
    <table>
        <thead> <!-- En-tête du tableau -->
        <tr>
            <th>Vague Id</th>
            <th>Code Vague</th>
            <th>Date Fin Ultime Vague</th>
            <th>Mission Id</th>
            <th>Enqueteur Id</th>
            <th>Mission date rea prev</th>
            <th>Mission nom</th>
     
        </tr>
     
        </thead>
    {% for resultat in resultats %}
        <tr>
            <td>{{ resultat.id }}</td>
            <td>{{ resultat.codeVague }}</td>
            <td>{{ resultat.date_fin_ultime|date('Y-m-d') }}</td>
            {% for mission in resultat.0 %}
                <td>{{ mission.id }}</td>
                <td>{{ mission.enqueteur_id }}</td>
                <td>{{ mission.date_rea_prev }}</td>
                <td>{{ mission.nom }}</td>
            {% endfor %}
        </tr>
    {% endfor %}
    </table>

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    bonjour,
    essaie de debugger les variables twig avec
    pour parcourir un tableau on utilise jamais des clés fixes comme zero.
    Essaie plutot les Iterating over Keys and Values¶ https://twig.symfony.com/doc/2.x/tags/for.html

    ainsi tu peux faire ,
    une premiere foreach clé => valeur, pour chaque valeur c'est un array
    cette meme valeur (array ) contient les clé 0 , id , codeVague etc .. et un array d'entité Mission

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut
    En fait les requêtes Mixed mettent cet index 0...c'est pas très propre je suis d'accord...j'ai donc reconstruit le tableau pour avoir directement un object array avec les champs

    mission
    id
    codeVague
    date_rea_prev


    Sauf que le résultat étaient le même.

    J'ai finalement pu voir que je pouvais accéder à mission non pas avec un for mais avec un

    resultat.missions.[PARAMETRE]

    En fait on ne pouvait pas entrer dans le for...je ne sais pas pourquoi...mais en voulant dump cette boucle rien ne s'affichait.

    Résolu donc.

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

Discussions similaires

  1. Test VBS après requête SQL
    Par jnauche dans le forum VBScript
    Réponses: 5
    Dernier message: 22/05/2008, 11h08
  2. Ensemble de données fermé après requête SQL
    Par Eric Beaumard dans le forum Bases de données
    Réponses: 10
    Dernier message: 04/10/2007, 08h19
  3. Réponses: 13
    Dernier message: 26/07/2007, 08h50
  4. Réponses: 5
    Dernier message: 28/12/2006, 15h41
  5. [Débutant] ClassCastException après requête SQL
    Par tck-lt dans le forum Hibernate
    Réponses: 10
    Dernier message: 06/12/2006, 16h18

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