{"id":24541,"date":"2021-05-20T19:09:00","date_gmt":"2021-05-20T16:09:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24541"},"modified":"2021-10-18T02:15:04","modified_gmt":"2021-10-17T23:15:04","slug":"comment-enregistrer-une-requete-dans-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/comment-enregistrer-une-requete-dans-laravel\/","title":{"rendered":"Comment enregistrer une requ\u00eate dans Laravel"},"content":{"rendered":"<p>Vous cherchez \u00e0 imprimer la requ\u00eate dans Laravel? Ou en d&rsquo;autres termes, voulez-vous enregistrer des requ\u00eates dans Laravel\u00a0? Les deux questions ont des r\u00e9ponses l\u00e9g\u00e8rement diff\u00e9rentes. Pour imprimer la requ\u00eate, vous pouvez simplement imprimer la derni\u00e8re requ\u00eate ex\u00e9cut\u00e9e et l&rsquo;afficher sur un navigateur. Mais je vous recommanderais de consigner la requ\u00eate dans Laravel. Ce faisant, toutes vos requ\u00eates seront enregistr\u00e9es dans le fichier journal et vous pourrez le consulter \u00e0 tout moment.<\/p>\n<p>Dans cet article, je vous montre les deux options qui aident un utilisateur \u00e0 afficher les requ\u00eates dans son application Laravel.<\/p>\n<p>Lorsque vous d\u00e9veloppez une application Laravel, vous pouvez parfois rencontrer une situation o\u00f9 vous devez voir si la requ\u00eate \u00e9crite est correcte ou non. Cela est d\u00fb \u00e0 plusieurs raisons &#8211; peut-\u00eatre que les utilisateurs n&rsquo;obtiennent pas le r\u00e9sultat attendu, que vous obtenez une r\u00e9ponse lente d&rsquo;un serveur de base de donn\u00e9es, ou que vous n&rsquo;obtenez aucun r\u00e9sultat avec votre requ\u00eate, etc. si vous enregistrez la requ\u00eate, cela aidera \u00e0 d\u00e9boguer le probl\u00e8me.<\/p>\n<h3>Comment imprimer une requ\u00eate dans Laravel?<\/h3>\n<p>L&rsquo;impression de la derni\u00e8re requ\u00eate ex\u00e9cut\u00e9e est un processus unique. Vous devrez peut-\u00eatre simplement imprimer votre requ\u00eate dans le navigateur. Il ne stocke la requ\u00eate nulle part. Vous trouverez ci-dessous un exemple simple pour imprimer votre requ\u00eate dans Laravel.<\/p>\n<pre><code>DB::enableQueryLog();\n$arr_user = DB::table('users')-&gt;select('name', 'email as user_email')-&gt;get();\ndd(DB::getQueryLog());<\/code><\/pre>\n<p>Ici, j&rsquo;ai utilis\u00e9 deux d\u00e9clarations <code>DB::enableQueryLog()<\/code>et <code>dd(DB::getQueryLog())<\/code>. La premi\u00e8re instruction active la journalisation des requ\u00eates, tandis que la seconde instruction imprime en fait ce journal sur le navigateur. Cette technique de d\u00e9bogage fonctionne \u00e9galement avec Laravel Eloquent.<\/p>\n<p>On peut utiliser cette m\u00e9thode s&rsquo;ils ne veulent pas enregistrer les requ\u00eates. Mais comme dit pr\u00e9c\u00e9demment, ce n&rsquo;est pas vraiment un moyen pratique. Parce que, si vous suivez cette technique, vous devez r\u00e9p\u00e9ter ces deux instructions <code>DB::enableQueryLog()<\/code>et <code>dd(DB::getQueryLog())<\/code>pour chaque requ\u00eate.<\/p>\n<p>La meilleure option consiste \u00e0 consigner toutes les requ\u00eates dans le fichier journal.<\/p>\n<h3>Requ\u00eate de journal dans Laravel<\/h3>\n<p>Je recommande une technique de journalisation des requ\u00eates dans Laravel. C&rsquo;est un moyen plus simple et pratique pour les d\u00e9veloppeurs. Vous n&rsquo;avez pas besoin d&rsquo;aller \u00e0 la place de chaque requ\u00eate et d&rsquo;\u00e9crire le code pour la journalisation.<\/p>\n<p>Au lieu de cela, il vous suffit de modifier <code>AppServiceProvider.php<\/code>et vous avez termin\u00e9.<\/p>\n<p>Ouvrez le <code>app\/Providers\/AppServiceProvider.php<\/code>fichier et ajoutez 2 fa\u00e7ades pour &lsquo;Fichier&rsquo; et &lsquo;DB&rsquo; comme suit.<\/p>\n<pre><code>use IlluminateSupportFacadesFile;\nuse IlluminateSupportFacadesDB;<\/code><\/pre>\n<p>Ensuite, dans la <code>boot()<\/code>m\u00e9thode, \u00e9crivez un code ci-dessous qui enregistrera toutes vos requ\u00eates Laravel en arri\u00e8re-plan.<\/p>\n<pre><code>public function boot()\n{\n\u00a0\u00a0\u00a0\u00a0if(env('APP_DEBUG')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DB::listen(function($query) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0File::append(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0storage_path('\/logs\/query.log'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$query-&gt;sql. ' ['. implode(', ', $query-&gt;bindings). ']'. PHP_EOL\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>D\u00e9sormais, chaque fois qu&rsquo;une requ\u00eate est ex\u00e9cut\u00e9e, elle sera automatiquement enregistr\u00e9e dans le <code>storage\/logs\/query.log<\/code>fichier. L&rsquo;utilisateur peut visualiser directement ses requ\u00eates dans ce <code>query.log<\/code>fichier.<\/p>\n<p>Dans Laravel, un autre moyen est disponible pour enregistrer les requ\u00eates. De cette fa\u00e7on, vos journaux de requ\u00eates sont stock\u00e9s dans le <code>storage\/logs\/laravel.log<\/code>fichier. Pour ce faire, vous devez placer le code ci-dessous dans votre <code>routes\/web.php<\/code>fichier.<\/p>\n<pre><code>DB::listen(function($sql) {\n\u00a0\u00a0\u00a0\u00a0Log::info($sql-&gt;sql);\n\u00a0\u00a0\u00a0\u00a0Log::info($sql-&gt;bindings);\n\u00a0\u00a0\u00a0\u00a0Log::info($sql-&gt;time);\n});<\/code><\/pre>\n<p>C&rsquo;est \u00e7a! Maintenant, c&rsquo;est \u00e0 vous d&rsquo;utiliser l&rsquo;une des m\u00e9thodes ci-dessus pour enregistrer les requ\u00eates. Vous n&rsquo;avez pas besoin d&rsquo;utiliser les deux m\u00e9thodes \u00e0 la fois.<\/p>\n<p>Il s&rsquo;agit de consigner les requ\u00eates dans Laravel. J&rsquo;esp\u00e8re que cet article sera utile pour votre candidature. S&rsquo;il vous pla\u00eet partager vos pens\u00e9es et suggestions dans la section commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-creer-une-page-d-erreur-404-personnalisee-dans-laravel\/\" title=\"Comment cr\u00e9er une page d'erreur 404 personnalis\u00e9e dans Laravel\" >Comment cr\u00e9er une page d&rsquo;erreur 404 personnalis\u00e9e dans Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-integrer-la-newsletter-mailchimp-dans-l-application-laravel\/\" title=\"Comment int\u00e9grer la newsletter MailChimp dans l'application Laravel\" >Comment int\u00e9grer la newsletter MailChimp dans l&rsquo;application Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, nous \u00e9tudions comment enregistrer une requ\u00eate dans Laravel. Dans cette phase de d\u00e9veloppement, il est utile d&rsquo;avoir un journal des requ\u00eates. Cela nous aide \u00e0 d\u00e9tecter les probl\u00e8mes, les erreurs dans nos requ\u00eates. Laravel fournit un moyen pratique de journaliser les requ\u00eates dans notre application.<\/p>\n","protected":false},"author":1,"featured_media":21749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[497],"tags":[844],"class_list":["post-24541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24541"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24541\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}