Comment voir le SQL généré par CakePHP 3 depuis un contrôleur ?

date
11/11/2016

S'il est apparemment (je ne connais pas bien CakePHP 3) facile d'obtenir une trace des requêtes SQL depuis les vues, le travail semble un peu plus compliqué depuis un contrôleur. Voici donc une solution :

  • récupérer une instance de la connexion à la base de données
  • lui demande d'enregistrer ses requêtes dans le fichier de log
  • lancer la requête
  • aller voir les logs dans le fichier ad hoc (debug.log chez moi)

Voici le bout de code PHP utilisé dans le contrôleur (remplacez NomTable par le nom du Registry que vous utilisez dans votre contrôleur) :

$cnx = $this->NomTable->defaultConnectionName();
$conn = \Cake\Datasource\ConnectionManager::get($cnx);
$conn->logQueries(true);
[...]

Dernières actualités

date
11/11/2016
S'il est apparemment (je ne connais pas bien CakePHP 3) facile d'obtenir une trace des requêtes SQL depuis les vues, le travail semble un peu plus compliqué depuis un contrôleur. Voici donc une solution :...
date
12/03/2016
Depuis fin février (2016), une erreur récurrente inquiète certains utilisateurs de cet outil incontournable qu'est devenu Composer. Lors de l'installation d'un projet ou d'une mise à jour, Composer plante en affichant le message suivant :...
date
12/08/2014
Le site a subi un petit lifting hier soir avec la mise en place de la librairie Boostrap. Son intégration dans le framework Yii utilisé par ce site a été facilitée grâce au composant YiiBooster.Bootstrap...