Slim v3 et Eloquent : Afficher les requêtes SQL

Florian Journeau
Florian JOURNEAU 21 Novembre 2020
Catégorie : PHP
Eloquent est un ORM, on peut donc requêter des données sans se préoccuper des requêtes SQL.
Cela peut tout de même être intéressant de voir comment sont récupérées les données, voire pour faire de l'optimisation.

Considérant que Eloquent a été déclaré comme ceci :

$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection($container['settings']['db']);
$capsule->setAsGlobal();
$capsule->bootEloquent();

$container['db'] = function ($container) use ($capsule) {
    return $capsule;
};

on peut accéder à notre objet DB (ici $capsule) dans notre container via $this->db.

Comme on a utilisé sur notre capsule la methode setAsGlobal(), on devra appeler les fonctions enableQueryLog() et getQueryLog() en statique.

$this->db::enableQueryLog();
$orders= Order::where('due_date', '>',  $day_date)->get();
$query = $this->db::getQueryLog();