|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 14 ![]() |
Bonjour à tous,
J'ai une requête qui me pose problème dans un projet de site web. J'ai une table produit et une table test. Sur chaque produits peuvent être effectués plusieurs tests et ces tests possèdent un champ num_test qui indique si le test est le premier, deuxième, ... ou n-ème test effectué sur le produit. Je souhaite récupérer avec une requête tous les derniers tests effectués sur tous les produits. Pour ce faire j'utilisais jusqu'à présent la requête suivant : Code :
Code :
Je voulais donc savoir comment écrire cela sous Doctrine et si il y a une meilleur solution pour réaliser ce genre de requête. Merci d'avance |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Vu que, dans doctrine, la clause ->from() doit porter sur un objet du modèle, il ne sera jamais possible d'y intégrer ta requête.
Il doit être possible de ce servir de Doctrine pour simplement exécuter une requête, sans la toucher, style pdo et de récupérer juste un array avec les données. Par contre, je ne vois pas trop l'intérêt de l'imbrication des requêtes, un truc du genre : Code :
SELECT DISTINCT t.data1, t.data2... FROM test t ORDER BY num_test desc
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 14 ![]() |
Je souhaite récupéré la ligne entière et non pas seulement les champs distinct(product_id) donc la requête que tu proposes ne fonctionne pas malheuresement. Je crois que je vais me résoudre à utiliser une requête pdo même si ça me chagrine un peu car cette doctrine_query me servait à alimenter un objet sfPager de symfony.
|
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu ne peux pas faire tourner un Doctrine sur une table qui ne fait pas partie du modèle.
Il reste une solution (pas propre... quoique). Créer un objet du modèle indépendant qui correspond au résultat que tu souhaites et l’appuyer sur une requête enregistrée sur le serveur qui te retourne tes données. Ceci me semble un rien bancal et est à approfondir.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com