2010-12-14 66 views
1

Je crée un comportement qui enregistre dans une table la requête sql exécutée par un modèle particulier dans un contrôleur. Vous cherchez une méthode pour me renvoyer la requête sql exécutée pour une méthode finder particulière (comme $ this-> MyModel-> find ('all')) J'ai trouvé sur la boulangerie que je peux utiliser $ this-> MyModel-> find ('sql'), mais ne fonctionne pas pour moi. Quelqu'un sait comment je peux y arriver?Récupérer la requête sql de la méthode findph cakephp

Merci à l'avance

Répondre

1

Vous pouvez mettre cette fonction dans votre app_model.php:

function getLastQueries() 
{ 
    $dbo = $this->getDatasource(); 
    $logs = $dbo->_queriesLog; 

    return $logs; 
} 

et l'appeler de tout modèle ($ this-> getLastQueries()) ou contrôleur ($ this-> Modèle -> getLastQueries()) pour les obtenir.

+0

J'essaie $ this-> MyModel-> find ('all') suivi par getLastQueries() mais j'ai un tableau vide – rizidoro

+0

Assurez-vous que vous avez votre configuration de débogage> 1 (2 ou 3) – elboletaire