{"id":27632,"date":"2021-05-20T18:48:00","date_gmt":"2021-05-20T15:48:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27632"},"modified":"2021-10-18T04:10:45","modified_gmt":"2021-10-18T01:10:45","slug":"como-registrar-uma-consulta-no-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-registrar-uma-consulta-no-laravel\/","title":{"rendered":"Como registrar uma consulta no Laravel"},"content":{"rendered":"<p>Voc\u00ea est\u00e1 querendo imprimir a consulta no Laravel? Ou em outras palavras, voc\u00ea deseja registrar consultas no Laravel? Ambas as perguntas t\u00eam respostas ligeiramente diferentes. Para imprimir a consulta, voc\u00ea pode apenas imprimir a \u00faltima consulta executada e exibi-la em um navegador. Mas eu recomendo que voc\u00ea registre a consulta no Laravel. Ao fazer isso, todas as suas consultas ser\u00e3o salvas no arquivo de log e voc\u00ea poder\u00e1 visualiz\u00e1-lo a qualquer momento.<\/p>\n<p>Neste artigo, mostro as duas op\u00e7\u00f5es que ajudam o usu\u00e1rio a visualizar as consultas em seu aplicativo Laravel.<\/p>\n<p>Quando voc\u00ea est\u00e1 desenvolvendo um aplicativo Laravel, \u00e0s vezes voc\u00ea pode se deparar com uma situa\u00e7\u00e3o em que precisa ver se a consulta escrita est\u00e1 correta ou n\u00e3o. Isso ocorre por v\u00e1rios motivos &#8211; talvez os usu\u00e1rios n\u00e3o estejam obtendo uma sa\u00edda esperada, voc\u00ea esteja obtendo uma resposta lenta de um servidor de banco de dados ou n\u00e3o obtenha nenhuma sa\u00edda como algo errado com sua consulta, etc. Em todos esses cen\u00e1rios, se voc\u00ea estiver registrando a consulta, isso ajudar\u00e1 a depurar o problema.<\/p>\n<h3>Como Imprimir Consulta no Laravel?<\/h3>\n<p>A impress\u00e3o da \u00faltima consulta executada \u00e9 um processo \u00fanico. Voc\u00ea pode precisar apenas imprimir sua consulta no navegador. Ele n\u00e3o armazena a consulta em nenhum lugar. Abaixo est\u00e1 um exemplo simples para imprimir sua consulta no 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>Aqui, usei duas declara\u00e7\u00f5es <code>DB::enableQueryLog()<\/code>e <code>dd(DB::getQueryLog())<\/code>. A primeira instru\u00e7\u00e3o ativa o log de consulta, enquanto a segunda instru\u00e7\u00e3o realmente imprime esse log no navegador. Esta t\u00e9cnica de depura\u00e7\u00e3o tamb\u00e9m funciona com o Laravel Eloquent.<\/p>\n<p>Pode-se usar este m\u00e9todo se n\u00e3o quiser registrar consultas. Mas, como disse antes, essa n\u00e3o \u00e9 realmente uma maneira conveniente. Porque, se voc\u00ea seguir esta t\u00e9cnica, voc\u00ea precisar\u00e1 repetir essas duas instru\u00e7\u00f5es <code>DB::enableQueryLog()<\/code>e <code>dd(DB::getQueryLog())<\/code>para cada consulta.<\/p>\n<p>A melhor op\u00e7\u00e3o \u00e9 registrar todas as consultas no arquivo de log.<\/p>\n<h3>Consulta de Log no Laravel<\/h3>\n<p>Eu recomendo uma t\u00e9cnica de registro de consultas no Laravel. \u00c9 uma maneira mais f\u00e1cil e conveniente para os desenvolvedores. Voc\u00ea n\u00e3o precisa ir ao local de cada consulta e escrever o c\u00f3digo para o registro.<\/p>\n<p>Em vez disso, voc\u00ea s\u00f3 precisa editar <code>AppServiceProvider.php<\/code>e pronto.<\/p>\n<p>Abra o <code>app\/Providers\/AppServiceProvider.php<\/code>arquivo e adicione 2 Facades para &#8216;File&#8217; e &#8216;DB&#8217; como segue.<\/p>\n<pre><code>use IlluminateSupportFacadesFile;\nuse IlluminateSupportFacadesDB;<\/code><\/pre>\n<p>A seguir, no <code>boot()<\/code>m\u00e9todo, escreva um c\u00f3digo abaixo que ir\u00e1 registrar todas as suas consultas do Laravel em segundo plano.<\/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>Agora, sempre que uma consulta for executada, ela ser\u00e1 registrada automaticamente no <code>storage\/logs\/query.log<\/code>arquivo. O usu\u00e1rio pode visualizar diretamente suas consultas neste <code>query.log<\/code>arquivo.<\/p>\n<p>No Laravel, mais uma forma est\u00e1 dispon\u00edvel para registrar as consultas. Usando desta forma, seus logs de consulta s\u00e3o armazenados dentro do <code>storage\/logs\/laravel.log<\/code>arquivo. Para fazer isso, voc\u00ea precisa colocar o c\u00f3digo abaixo em seu <code>routes\/web.php<\/code>arquivo.<\/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>\u00c9 isso! Agora, depende de voc\u00ea usar qualquer um dos m\u00e9todos acima para registrar as consultas. Voc\u00ea n\u00e3o precisa usar os dois m\u00e9todos ao mesmo tempo.<\/p>\n<p>\u00c9 tudo sobre como registrar as consultas no Laravel. Espero que este artigo seja \u00fatil para sua aplica\u00e7\u00e3o. Por favor, compartilhe seus pensamentos e sugest\u00f5es na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-criar-uma-pagina-de-erro-404-personalizada-no-laravel\/\" title=\"Como criar uma p\u00e1gina de erro 404 personalizada no Laravel\" >Como criar uma p\u00e1gina de erro 404 personalizada no Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-integrar-o-boletim-informativo-mailchimp-no-aplicativo-laravel\/\" title=\"Como integrar o boletim informativo MailChimp no aplicativo Laravel\" >Como integrar o boletim informativo MailChimp no aplicativo Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste artigo, estudamos como registrar uma consulta no Laravel. Nesta fase de desenvolvimento, \u00e9 \u00fatil ter um log de consultas. Ajuda-nos a descobrir falhas, erros nas nossas consultas. O Laravel fornece uma maneira conveniente de registrar consultas em nosso aplicativo.<\/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":[502],"tags":[848],"class_list":["post-27632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27632"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27632\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}