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 :

Doctrine_RawSql() comment ça marche ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut Doctrine_RawSql() comment ça marche ?
    erf je pose beaucoup de question, mais vu le temps de travail que je consomme pour comprendre comment symfony fonctionne, il faut vite que je montre quelque chose

    bon donc en parallèle au post concernant mon schéma qui est peut à revoir, j'essaye de comprendre comment fonctionne Doctrine_RawSql().

    j'ai une requete SQL qui ressemble à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT a.user_id, DATE(MAX(c.date)) AS maxdate
    FROM it_toolbox.GrpeChqDejList a 
    left Join it_toolbox.ChqDej c ON a.user_id = c.user_id 
    WHERE a.grpechqdej_id = 4
    GROUP BY a.user_id
    convertit en DQL, j'ai mis ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $q = new Doctrine_RawSql(); 
            $q->select('{a.user_id}, DATE(MAX({c.date})) AS maxdate');
          	$q->from('GrpeChqDejList a ');
          	$q->leftJoin('ChqDej c ON a.user_id = c.user_id');
          	$q->groupBy('a.user_id');
          	$q->where('a.grpechqdej_id = ?',$id);    
          	$q->addComponent('a', 'GrpeChqDejList a');
          	$q->addComponent('c', 'ChqDej c');
          	$q->execute();
    et la requete devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT a.user_id AS a__user_id, a.id AS a__id, c.date AS c__date, c.id AS c__id FROM GrpeChqDejList a LEFT JOIN ChqDej c ON a.user_id = c.user_id WHERE a.grpechqdej_id = ? GROUP BY a.user_id - (2)
    avec en plus un message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ChqDej" with an alias of "c" in your query does not reference the parent component it is related to.
    ou est l'erreur dans mon select pour voir apparaître les champs que je lui demande et comment ce fait qu'il cherche encore une fois à se rattacher à une relation de mon schéme, j'avais compris que cette fonction permettait justement de bypasser le schéma ?

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je pense que la réponse est dans l'autre message et je propose de clôture celui-ci.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    hmm, pas vraiment, si l'autre post résoud effectivement mon problème de maniére ponctuelle.
    J'aimerai savoir si oui ou non, la fonction rawSQL fonctionne.

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

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