Étant donné le code suivant:
DB::table('users')->get();
Je veux obtenir le raw chaîne de requête SQL que le générateur de requête ci-dessus va générer, donc, dans cet exemple, il serait SELECT * FROM users
.
Comment dois-je faire?
Étant donné le code suivant:
DB::table('users')->get();
Je veux obtenir le raw chaîne de requête SQL que le générateur de requête ci-dessus va générer, donc, dans cet exemple, il serait SELECT * FROM users
.
Comment dois-je faire?
Utiliser l' toSql()
méthode de QueryBuilder
de l'instance.
DB::table('users')->toSql()
serait de retour:
select * from `users`
C'est plus facile que de câblage d'un écouteur d'événement, et permet également de vérifier que la requête ressemblera vraiment à tout moment pendant que vous êtes en train de construire.
À la sortie à l'écran les dernières requêtes couru vous pouvez utiliser cette
dd(DB::getQueryLog());
Je crois que la plus récente des requêtes sera au bas du tableau.
Vous aurez quelque chose comme ça:
array(1) {
[0]=>
array(3) {
["query"]=>
string(21) "select * from "users""
["bindings"]=>
array(0) {
}
["time"]=>
string(4) "0.92"
}
}
Vous pouvez écouter le 'éclairer.requête de l'événement. Avant que la requête d'ajouter l'écouteur d'événement suivant:
Event::listen('illuminate.query', function($query, $params, $time, $conn)
{
dd(array($query, $params, $time, $conn));
});
DB::table('users')->get();
Cela permettra d'imprimer quelque chose comme:
array(4) {
[0]=>
string(21) "select * from "users""
[1]=>
array(0) {
}
[2]=>
string(4) "0.94"
[3]=>
string(6) "sqlite"
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.