{"id":28092,"date":"2021-05-20T19:07:00","date_gmt":"2021-05-20T16:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28092"},"modified":"2021-10-17T16:54:50","modified_gmt":"2021-10-17T13:54:50","slug":"como-registrar-consultas-en-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-registrar-consultas-en-laravel\/","title":{"rendered":"C\u00f3mo registrar consultas en Laravel"},"content":{"rendered":"<p>\u00bfEst\u00e1s buscando imprimir la consulta en Laravel? O en otras palabras, \u00bfquieres registrar consultas en Laravel? Ambas preguntas tienen respuestas ligeramente diferentes. Para imprimir la consulta, puede imprimir la \u00faltima consulta ejecutada y mostrarla en un navegador. Pero te recomendar\u00eda que registres la consulta en Laravel. Al hacerlo, todas sus consultas se guardar\u00e1n en el archivo de registro y podr\u00e1 verlas en cualquier momento.<\/p>\n<p>En este art\u00edculo, le muestro ambas opciones que ayudan a un usuario a ver las consultas en su aplicaci\u00f3n Laravel.<\/p>\n<p>Cuando est\u00e1 desarrollando una aplicaci\u00f3n Laravel, a veces puede encontrarse con una situaci\u00f3n en la que necesite ver si la consulta escrita es correcta o no. Esto se debe a varias razones: tal vez los usuarios no obtienen un resultado esperado, usted obtiene una respuesta lenta de un servidor de base de datos o no obtiene ning\u00fan resultado como algo incorrecto en su consulta, etc. En todos estos escenarios, Si est\u00e1 registrando la consulta, ayudar\u00e1 a depurar el problema.<\/p>\n<h3>\u00bfC\u00f3mo imprimir consultas en Laravel?<\/h3>\n<p>Imprimir la \u00faltima consulta ejecutada es un proceso de una sola vez. Es posible que deba imprimir su consulta en el navegador. No almacena la consulta en ning\u00fan lugar. A continuaci\u00f3n se muestra un ejemplo simple para imprimir su consulta en 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>Aqu\u00ed he usado dos declaraciones <code>DB::enableQueryLog()<\/code>y <code>dd(DB::getQueryLog())<\/code>. La primera declaraci\u00f3n habilita el registro de consultas, mientras que la segunda declaraci\u00f3n realmente imprime este registro en el navegador. Esta t\u00e9cnica de depuraci\u00f3n tambi\u00e9n funciona con Laravel Eloquent.<\/p>\n<p>Se puede utilizar este m\u00e9todo si no se desea registrar consultas. Pero como se dijo anteriormente, esta no es una forma conveniente. Porque, si sigue esta t\u00e9cnica, entonces necesita repetir estas dos declaraciones <code>DB::enableQueryLog()<\/code>y <code>dd(DB::getQueryLog())<\/code>para cada consulta.<\/p>\n<p>La mejor opci\u00f3n es registrar todas las consultas en el archivo de registro.<\/p>\n<h3>Consulta de registro en Laravel<\/h3>\n<p>Recomiendo una t\u00e9cnica de registro de consultas en Laravel. Es una forma m\u00e1s f\u00e1cil y conveniente para los desarrolladores. No es necesario ir al lugar de cada consulta y escribir el c\u00f3digo para el registro.<\/p>\n<p>En su lugar, solo necesita editar <code>AppServiceProvider.php<\/code>y listo.<\/p>\n<p>Abra el <code>app\/Providers\/AppServiceProvider.php<\/code>archivo y agregue 2 fachadas para &#8216;Archivo&#8217; y &#8216;DB&#8217; de la siguiente manera.<\/p>\n<pre><code>use IlluminateSupportFacadesFile;\nuse IlluminateSupportFacadesDB;<\/code><\/pre>\n<p>A continuaci\u00f3n, en el <code>boot()<\/code>m\u00e9todo, escriba un c\u00f3digo a continuaci\u00f3n que registrar\u00e1 todas sus consultas de Laravel en 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>Ahora, siempre que se ejecute una consulta, se registrar\u00e1 autom\u00e1ticamente en el <code>storage\/logs\/query.log<\/code>archivo. El usuario puede ver directamente sus consultas en este <code>query.log<\/code>archivo.<\/p>\n<p>En Laravel, hay una forma m\u00e1s disponible para registrar las consultas. De esta manera, los registros de consultas se almacenan dentro del <code>storage\/logs\/laravel.log<\/code>archivo. Para hacerlo, debe colocar el siguiente c\u00f3digo en su <code>routes\/web.php<\/code>archivo.<\/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>\u00a1Eso es! Ahora, depende de usted utilizar uno de los m\u00e9todos anteriores para registrar las consultas. No es necesario utilizar ambos m\u00e9todos a la vez.<\/p>\n<p>Se trata de registrar las consultas en Laravel. Espero que este art\u00edculo sea de utilidad para su aplicaci\u00f3n. Comparta sus pensamientos y sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-crear-una-pagina-de-error-404-personalizada-en-laravel\/\" title=\"C\u00f3mo crear una p\u00e1gina de error 404 personalizada en Laravel\" >C\u00f3mo crear una p\u00e1gina de error 404 personalizada en Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-integrar-el-boletin-de-mailchimp-en-la-aplicacion-laravel\/\" title=\"C\u00f3mo integrar el bolet\u00edn de MailChimp en la aplicaci\u00f3n Laravel\" >C\u00f3mo integrar el bolet\u00edn de MailChimp en la aplicaci\u00f3n Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, estudiamos c\u00f3mo registrar consultas en Laravel. En esta fase de desarrollo, es \u00fatil tener un registro de consultas. Nos ayuda a encontrar fallas, errores en nuestras consultas. Laravel proporciona una forma conveniente de registrar consultas en nuestra aplicaci\u00f3n.<\/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":[495],"tags":[849],"class_list":["post-28092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=28092"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/28092\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=28092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=28092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=28092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}