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:
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:
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:
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:
"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 ?
Partager