{"id":24528,"date":"2021-05-20T19:02:00","date_gmt":"2021-05-20T16:02:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24528"},"modified":"2021-10-18T02:40:30","modified_gmt":"2021-10-17T23:40:30","slug":"so-protokollieren-sie-abfragen-in-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/so-protokollieren-sie-abfragen-in-laravel\/","title":{"rendered":"So protokollieren Sie Abfragen in Laravel"},"content":{"rendered":"<p>M\u00f6chten Sie die Abfrage in Laravel ausdrucken? Oder m\u00f6chten Sie Abfragen in Laravel protokollieren? Beide Fragen haben leicht unterschiedliche Antworten. Zum Drucken der Abfrage k\u00f6nnen Sie einfach die zuletzt ausgef\u00fchrte Abfrage ausdrucken und in einem Browser anzeigen. Ich w\u00fcrde jedoch empfehlen, die Abfrage in Laravel zu loggen. Dabei werden alle Ihre Abfragen in der Protokolldatei gespeichert und Sie k\u00f6nnen diese jederzeit einsehen.<\/p>\n<p>In diesem Artikel zeige ich Ihnen beide Optionen, die einem Benutzer helfen, die Abfragen in seiner Laravel-Anwendung anzuzeigen.<\/p>\n<p>Wenn Sie eine Laravel-Anwendung entwickeln, k\u00f6nnen Sie manchmal auf eine Situation sto\u00dfen, in der Sie sehen m\u00fcssen, ob die schriftliche Abfrage richtig ist oder nicht. Dies hat mehrere Gr\u00fcnde \u2013 vielleicht erhalten die Benutzer keine erwartete Ausgabe, Sie erhalten eine langsame Antwort von einem Datenbankserver oder Sie erhalten keine Ausgabe, da mit Ihrer Abfrage etwas nicht stimmt usw. In all diesen Szenarien Wenn Sie die Abfrage protokollieren, hilft es, das Problem zu beheben.<\/p>\n<h3>Wie drucke ich eine Abfrage in Laravel?<\/h3>\n<p>Das Drucken der zuletzt ausgef\u00fchrten Abfrage ist ein einmaliger Vorgang. M\u00f6glicherweise m\u00fcssen Sie Ihre Anfrage einfach im Browser ausdrucken. Es speichert die Abfrage nirgendwo. Unten ist ein einfaches Beispiel, um Ihre Anfrage in Laravel zu drucken.<\/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>Hier habe ich zwei Aussagen <code>DB::enableQueryLog()<\/code>und verwendet <code>dd(DB::getQueryLog())<\/code>. Die erste Anweisung aktiviert die Abfrageprotokollierung, w\u00e4hrend die zweite Anweisung dieses Protokoll tats\u00e4chlich im Browser ausgibt. Diese Debugging-Technik funktioniert auch mit Laravel Eloquent.<\/p>\n<p>Diese Methode kann verwendet werden, wenn keine Abfragen protokolliert werden sollen. Aber wie bereits erw\u00e4hnt, ist dies nicht wirklich ein bequemer Weg. Denn wenn Sie dieser Technik folgen, m\u00fcssen Sie diese beiden Anweisungen <code>DB::enableQueryLog()<\/code>und <code>dd(DB::getQueryLog())<\/code>f\u00fcr jede Abfrage wiederholen .<\/p>\n<p>Die bessere Option ist die Protokollierung aller Abfragen in der Protokolldatei.<\/p>\n<h3>Log-Abfrage in Laravel<\/h3>\n<p>Ich empfehle eine Technik zum Protokollieren von Abfragen in Laravel. Es ist eine einfachere und bequemere Methode f\u00fcr Entwickler. Sie m\u00fcssen nicht zu jeder Abfrage gehen und den Code f\u00fcr die Protokollierung schreiben.<\/p>\n<p>Stattdessen m\u00fcssen Sie nur bearbeiten <code>AppServiceProvider.php<\/code>und Sie sind fertig.<\/p>\n<p>\u00d6ffnen Sie die <code>app\/Providers\/AppServiceProvider.php<\/code>Datei und f\u00fcgen Sie 2 Fassaden f\u00fcr &#8218;Datei&#8216; und &#8218;DB&#8216; wie folgt hinzu.<\/p>\n<pre><code>use IlluminateSupportFacadesFile;\nuse IlluminateSupportFacadesDB;<\/code><\/pre>\n<p>Als n\u00e4chstes <code>boot()<\/code>schreiben Sie in der Methode einen folgenden Code, der alle Ihre Laravel-Abfragen im Hintergrund protokolliert.<\/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>Wenn nun eine Abfrage ausgef\u00fchrt wird, wird sie automatisch in der <code>storage\/logs\/query.log<\/code>Datei protokolliert. Der Benutzer kann seine Abfragen direkt in dieser <code>query.log<\/code>Datei anzeigen .<\/p>\n<p>In Laravel steht eine weitere M\u00f6glichkeit zur Verf\u00fcgung, um die Abfragen zu protokollieren. Auf diese Weise werden Ihre Abfrageprotokolle in der <code>storage\/logs\/laravel.log<\/code>Datei gespeichert. Dazu m\u00fcssen Sie den folgenden Code in Ihre <code>routes\/web.php<\/code>Datei einf\u00fcgen .<\/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>Das ist es! Jetzt liegt es an Ihnen, eine der oben genannten Methoden zum Protokollieren der Abfragen zu verwenden. Sie m\u00fcssen nicht beide Methoden gleichzeitig verwenden.<\/p>\n<p>Es geht darum, die Abfragen in Laravel zu protokollieren. Ich hoffe, dass dieser Artikel f\u00fcr Ihre Anwendung n\u00fctzlich ist. Bitte teilen Sie Ihre Gedanken und Vorschl\u00e4ge im Kommentarbereich unten mit.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-erstellen-sie-eine-benutzerdefinierte-404-fehlerseite-in-laravel\/\" title=\"So erstellen Sie eine benutzerdefinierte 404-Fehlerseite in Laravel\" >So erstellen Sie eine benutzerdefinierte 404-Fehlerseite in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-integrieren-sie-den-mailchimp-newsletter-in-die-laravel-anwendung\/\" title=\"So integrieren Sie den MailChimp-Newsletter in die Laravel-Anwendung\" >So integrieren Sie den MailChimp-Newsletter in die Laravel-Anwendung<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel untersuchen wir, wie Abfragen in Laravel protokolliert werden. In dieser Entwicklungsphase ist es hilfreich, ein Abfrageprotokoll zu haben. Es hilft uns, St\u00f6rungen und Fehler in unseren Abfragen herauszufinden. Laravel bietet eine bequeme M\u00f6glichkeit, Anfragen in unserer Anwendung zu protokollieren.<\/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":[496],"tags":[845],"class_list":["post-24528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=24528"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24528\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=24528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}