Laravel 4 SQL journal / console
Est-il quelque chose de semblable dans Laravel qui vous permet de voir les réels SQL exécutée?
Dans les Rails, par exemple, vous pouvez voir le code SQL dans la console. Dans Django, vous avez une barre d'outils.
Est-il quelque chose de semblable dans Laravel 4?
De préciser: Ma question est comment le faire sans code. Est-il quelque chose qui est intégré dans Laravel qui ne nécessite pas de m'écrire du code dans l'application?
Mise à JOUR: de Préférence, j'aimerais voir la CLI des requêtes (par exemple php artisan migrate
)
source d'informationauteur Slava V
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez Laravel 4, utilisez ceci:
Je le fais dans Laravel 4.
Il suffit de le régler une fois dans
app/start/global.php
ou n'importe où, mais assurez-vous qu'il est chargé et puis il va commencer à enregistrer toutes vos requêtes SQL.Voici un petit extrait de code Javascript, vous pouvez jeter sur votre page maître modèle.
Tant que c'est compris, toutes les requêtes seront de sortie à la Console Javascript de votre navigateur.
Il imprime sous une forme aisément lisible, simple à parcourir votre site et de voir quelles sont les requêtes d'exécution sur chaque page.
Lorsque vous avez terminé de débogage, vient de supprimer à partir de votre modèle.
Il est un Compositeur package: https://packagist.org/packages/loic-sharma/profiler
Il vous donnera une barre d'outils en bas avec des requêtes SQL, des messages de log, etc. Assurez-vous de définir
debug
de vrai dans votre configuration.Voici une autre belle option de débogage pour Laravel 4:
https://github.com/barryvdh/laravel-debugbar
Je suis venu avec un moyen vraiment simple (si vous utilisez
php artisan serve
et PHP 5.4) - ajouter àapp/start/local.php
:mais l'espoir de trouver une solution officielle.
Cela permettra d'imprimer les instructions SQL comme ceci:
Ce code est directement pris forme autre source, mais je voulais le rendre facile pour vous que de le suivre a fonctionné pour moi sur PHPStorm à l'aide de ma fenêtre de terminal, j'ai pu voir un journal complet, mais ,après connexion il y a quelques Sentry chose.
1.ajouter
'log'=>true
à l'intérieur de votre
config/database.php
et au-dessous de l'endroit ur nom de base de donnéesex.mysql
puis ajouter le code ci-dessous pour
routes.php
surtout pas sous n'importe quelle route de configuration , depuis u peut le faire qu'en vertu donner un itinéraire de configuration mais , u ne voir que lorsque la route est appelée.de voir cette sortie
/goto /app/storage/log/somelogfile.log
N'oubliez pas de faire un point de rupture .... ou de ping-moi 🙂
Dans QueryBuilder exemple, il existe une méthode toSql().
echo DB::table('employees')->toSql()
serait de retour:
C'est la méthode la plus simple indique les requêtes.