Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour,
Je me retrouve au milieu d'un code d'un module avec un objet de type resultset. J'aimerais pouvoir récupérer la requête sql associé à ce resultset. Je tourne dans tous les sens et j'y arrive pas . Si quelqu'un à une idée je suis preneur.
Merci
Hors ligne
Impossible avec juste le ResultSet.
Il te faut retrouver l'objet Select qui l'a induit.
Hors ligne
Aucun intérêt de récupérer le SQL. Si tu dois faire ça, il y a un problème de conception.
Hors ligne
Frederic Bouchery a écrit:
Aucun intérêt de récupérer le SQL. Si tu dois faire ça, il y a un problème de conception.
Ca dépend si pour un besoin x ou y il a besoin de l'afficher à l'utilisateur comment tu veux faire autrement ?
Hors ligne
Pour du debug, je veux bien comprendre, mais sinon ... !?
Hors ligne
Bah je sais pas pour une raison X ou Y si tu as besoin d'afficher à l'utilisateur une requête SQL. C'est rare mais ça peut arriver ^^
Hors ligne
Un cas d'utilisation que j'ai déjà vu pour ce genre de problème c'est dans des laboratoires de recherche, des interfaces permettant de taper dans une base et qui te donne la requête sql générée pour mettre dans ton rapport...
Hors ligne
Je vais essayer d'expliquer mon cas, mais je ne suis pas sûr d'être assez claire pour que ce soit compréhensible
J'utilise une classe tierce qui ne m'appartient pas auxquel je dois lui transmettre une requête SQL pour obtenir en retour un JSON.
Je voulais utiliser mes fonctions déjà en place dans une classe tablegateway, pour récupérer les requêtes SQL de ces fonctions.
Je ferais dans mon controller :
$sm->get('maClasseTable')->get_mesobjetsPopulaires();
$resultat = $objetTiersPasAMoi->request ( '.... la requête sql qui me donne les objet Populaires ....')
Comme ça mes requêtes sont toujours au centralisé au même endroit.
Hors ligne