{"id":61404,"date":"2023-05-05T11:18:06","date_gmt":"2023-05-05T10:18:06","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=61404&#038;preview=true&#038;preview_id=61404"},"modified":"2023-07-27T11:14:28","modified_gmt":"2023-07-27T10:14:28","slug":"laravel-model-factories","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/","title":{"rendered":"Wie man mit Laravel Model Factories Faker generiert und verwendet"},"content":{"rendered":"<p>Testen ist f\u00fcr die <a href=\"https:\/\/kinsta.com\/web-development\/\">Webentwicklung<\/a> unerl\u00e4sslich. Laravel-Modellfabriken definieren Datenbankdatens\u00e4tze auf vorhersehbare und leicht reproduzierbare Weise, damit deine App-Tests konsistent und kontrolliert sind. Modellfabriken definieren eine Reihe von Standardattributen f\u00fcr jedes deiner Eloquent-Modelle.<\/p>\n<p>Wenn du zum Beispiel eine Blogging-App entwickelst, mit der Autoren und Moderatoren Kommentare genehmigen k\u00f6nnen, bevor sie online gehen, musst du testen, ob die Funktion richtig funktioniert, bevor du sie deinen Nutzern zur Verf\u00fcgung stellst. All das erfordert Testdaten.<\/p>\n<p>Um die oben beschriebene Blogging-App zu testen, brauchst du Kommentardaten, mit denen du die Funktionalit\u00e4t deiner Anwendung imitieren und testen kannst. Mit <a href=\"https:\/\/kinsta.com\/de\/blog\/laravel-10\/\">Laravel<\/a> kannst du das tun, ohne Kommentare von echten Nutzern zu erhalten, indem du Laravel-Fabriken und Faker verwendest, um gef\u00e4lschte Daten zu erzeugen.<\/p>\n<p>In diesem Artikel wird erkl\u00e4rt, wie du Kommentardaten ohne Kommentare von echten Nutzern bekommst.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Voraussetzungen<\/h2>\n<p>Um dieses Lernprogramm zu absolvieren, musst du mit den folgenden Dingen vertraut sein:<\/p>\n<ul>\n<li>XAMPP<\/li>\n<li>Composer<\/li>\n<\/ul>\n<p><a href=\"https:\/\/kinsta.com\/de\/thema\/xampp\/\">XAMPP<\/a> ist eine kostenlose und einfach zu installierende Apache-Distribution, die PHP, Perl und MariaDB &#8211; eine MySQL-Datenbank &#8211; enth\u00e4lt. In diesem Tutorial wird die neueste Version, 8.1.10, verwendet, die PHP 8.1.10 installiert. Lies <a href=\"https:\/\/medium.com\/analytics-vidhya\/download-and-install-xampp-on-mac-oshow-to-download-and-install-xampp-on-mac-os-97705974080d\" target=\"_blank\" rel=\"noopener noreferrer\">diesen Artikel<\/a>, wenn du XAMPP f\u00fcr MacOS installierst, oder <a href=\"https:\/\/ostechnix.com\/install-xampp-in-linux\/\" target=\"_blank\" rel=\"noopener noreferrer\">diese Anleitung<\/a> f\u00fcr Linux. In diesem Tutorial wird XAMPP unter Windows verwendet.<\/p>\n<p>Der Composer ist ein Tool, mit dem du die Pakete definieren, installieren und herunterladen kannst, auf die deine Web-App in der Entwicklung und Produktion angewiesen ist. In diesem Lernprogramm wird die <a href=\"https:\/\/getcomposer.org\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">Version v2.4.4<\/a> des Composers verwendet, die <a href=\"https:\/\/kinsta.com\/de\/blog\/php-benchmarks\/\">PHP Version 7.2+<\/a> voraussetzt. Du verwendest Composer, um den Laravel-Installer f\u00fcr diesen Lehrgang zu installieren.<\/p>\n<p>Du kannst auch den kompletten Code f\u00fcr das Projekt herunterladen, um <a href=\"https:\/\/github.com\/multi-Adams\/laravel-factories-article\" target=\"_blank\" rel=\"noopener noreferrer\">mitzumachen<\/a>.<\/p>\n\n<h2>Wie du das Projekt einrichtest<\/h2>\n<p>In diesem Abschnitt erstellst du ein Laravel-Projekt und verbindest es mit einer Datenbank. Schauen wir uns an, was das alles bedeutet und wie du es schaffst.<\/p>\n<h3>Laravel-Installer installieren<\/h3>\n<p>Um schnell ein Laravel-Projekt zu erstellen, installiere den Laravel-Installer:<\/p>\n<pre><code class=\"language-sh\">composer global require laravel\/installer<\/code><\/pre>\n<p>Dieser Code installiert den Laravel-Installer global auf deinem Rechner.<\/p>\n<h3>Ein Laravel-Projekt erstellen<\/h3>\n<p>Als N\u00e4chstes <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#laravel\">erstellst du ein Laravel-Projekt<\/a>, indem du Folgendes ausf\u00fchrst:<\/p>\n<pre><code class=\"language-sh\">laravel new app-name<\/code><\/pre>\n<p>Dieser Code bootet ein neues Laravel-Projekt und installiert alle Abh\u00e4ngigkeiten:<\/p>\n<figure style=\"width: 978px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/creating-laravel-project.png\" alt=\"Erstellen des Laravel-Projekts\" width=\"978\" height=\"510\"><figcaption class=\"wp-caption-text\">Erstellen des Laravel-Projekts<\/figcaption><\/figure>\n<p>Eine andere, einfachere M\u00f6glichkeit, Laravel zu installieren, ist, Composer direkt zu verwenden.<\/p>\n<pre><code class=\"language-sh\">composer create-project laravel\/laravel app-name<\/code><\/pre>\n<p>Wenn du die obige Methode verwendest, brauchst du den Laravel-Installer nicht zu installieren.<\/p>\n<h3>Starte die App<\/h3>\n<p>Jetzt kannst du das Verzeichnis in <strong>app-name<\/strong> \u00e4ndern und das Projekt mit Laravels eigenem Kommandozeilen-Tool (CLI) <a href=\"https:\/\/laravel.com\/docs\/9.x\/artisan#introduction\" target=\"_blank\" rel=\"noopener noreferrer\">Artisan<\/a> starten:<\/p>\n<pre><code class=\"language-sh\">php artisan serve<\/code><\/pre>\n<p>Dieser Code startet das Projekt und verbindet es mit localhost:8000 oder einem anderen verf\u00fcgbaren Port, wenn Port 8000 in Gebrauch ist. Auf localhost:8000 solltest du etwas wie das hier sehen:<\/p>\n<figure style=\"width: 771px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/laravel-website-homepage.png\" alt=\"Die Laravel Website Homepage\" width=\"771\" height=\"626\"><figcaption class=\"wp-caption-text\">Laravel<\/figcaption><\/figure>\n<h3>Eine Datenbank erstellen<\/h3>\n<p>Um deine App mit einer Datenbank zu verbinden, musst du mit der grafischen Benutzeroberfl\u00e4che PHPMyAdmin von XAMPP eine neue Datenbank erstellen. Gehe zu <strong>localhost\/phpmyadmin<\/strong> und klicke in der Seitenleiste auf <strong>Neu<\/strong>:<\/p>\n<figure style=\"width: 560px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/create-database-form.png\" alt=\"Das Formular \"Datenbank erstellen\" in PHPMyAdmin\" width=\"560\" height=\"144\"><figcaption class=\"wp-caption-text\">Formular Datenbank erstellen<\/figcaption><\/figure>\n<p>Das Bild oben zeigt das Formular <strong>Datenbank erstellen<\/strong> mit <strong>app_name<\/strong> als Datenbankname.<\/p>\n<p>Klicke auf <strong>Erstellen<\/strong>, um eine Datenbank zu erstellen.<\/p>\n<h3>Bearbeiten der .env-Datei<\/h3>\n<p>Um deine App mit einer Datenbank zu verbinden, musst du den DB-Teil der <strong>.env<\/strong>-Datei bearbeiten:<\/p>\n<pre><code class=\"language-env\">DB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=app_name\nDB_USERNAME=root\nDB_PASSWORD=<\/code><\/pre>\n<p>Dieser Code f\u00fcllt die Datenbankzugangsdaten mit deinem Datenbanknamen, Benutzernamen, Port, Passwort und Host. Jetzt kannst du damit beginnen, Fabriken und Modelle zu erstellen.<\/p>\n<p><strong>Hinweis:<\/strong> Ersetze die Werte durch deine Datenbankanmeldedaten. Wenn du die Fehlermeldung &#8222;Zugriff f\u00fcr Benutzer verweigert&#8220; erh\u00e4ltst, setze die Werte f\u00fcr <code>DB_USERNAME<\/code> und <code>DB_PASSWORD<\/code> in Anf\u00fchrungszeichen.<\/p>\n<h2>So generierst du &#8222;gef\u00e4lschte&#8220; Daten<\/h2>\n<p>Nachdem du die App erstellt und mit der Datenbank verbunden hast, kannst du nun die notwendigen Dateien erstellen, um falsche Daten in der Datenbank zu erzeugen.<\/p>\n<h3>Erstelle das Kommentar-Modell<\/h3>\n<p>Erstelle die Modelldatei, die mit den Datenbanktabellen interagiert. Um ein Modell zu erstellen, verwende Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:model Comment<\/code><\/pre>\n<p>Dieser Code erstellt eine Datei <strong>Comment.php<\/strong> im Ordner <strong>app\/Models<\/strong> mit einigem Boilerplate-Code. F\u00fcge den folgenden Code unterhalb der Zeile <code>use HasFactory;<\/code> ein:<\/p>\n<pre><code class=\"language-php\"> protected $fillable = [\n      'name',\n      'email',\n      'body',\n      'approved',\n      'likes'\n    ];<\/code><\/pre>\n<p>Dieser Code listet die Felder auf, die du f\u00fcr Massenzuweisungen zulassen willst, da Laravel deine Datenbank standardm\u00e4\u00dfig vor Massenzuweisungen sch\u00fctzt. Die Modelldatei <strong>Comment<\/strong> sollte nun wie folgt aussehen:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/carbon.png\" alt=\"Kommentar-Modelldatei\" width=\"1492\" height=\"858\"><figcaption class=\"wp-caption-text\">Kommentar-Modelldatei<\/figcaption><\/figure>\n<h3>Erstellen der Migrationsdatei<\/h3>\n<p>Nachdem du die Modelldatei erstellt und das Array <code>$fillable<\/code> deklariert hast, musst du die Migrationsdatei mit dem folgenden Befehl erstellen:<\/p>\n<pre><code class=\"language-sh\">php artisan make:migration create_comments_table<\/code><\/pre>\n<p><strong>Hinweis:<\/strong> Die Namenskonvention f\u00fcr die Erstellung von Migrationen in Laravel ist normalerweise <code><a href=\"https:\/\/en.wikipedia.org\/wiki\/Snake_case\" target=\"_blank\" rel=\"noopener noreferrer\">snake_case<\/a><\/code>auch bekannt als <code>underscore_case<\/code>. Das erste Wort ist die Aktion, das zweite Wort ist der Plural des Modells und das letzte Wort ist das Feature, das im Projekt erstellt wird. Das bedeutet, dass du <code>create_books_table<\/code> schreibst, wenn du eine Migration f\u00fcr ein Buchmodell erstellst.<\/p>\n<p>Dieser Code erstellt eine Datei namens <strong>yyyy_mm_dd_hhmmss_create_comments_table<\/strong> im Ordner <strong>database\/migrations<\/strong>.<\/p>\n<p>Als n\u00e4chstes bearbeitest du die Funktion up in <strong>yyyy_mm_dd_hhmmss_create_comments_table<\/strong>:<\/p>\n<pre><code class=\"language-php\">public function up()\n    {\n  Schema::create('comments', function (Blueprint $table) {\n    $table-&gt;id();\n    $table-&gt;string('name');\n    $table-&gt;string('email');\n    $table-&gt;longText('body');\n    $table-&gt;boolean('approved');\n    $table-&gt;integer('likes')-&gt;default(0);\n    $table-&gt;timestamps();\n    });\n    }<\/code><\/pre>\n<p>Dieser Code erstellt ein Schema, das eine Tabelle mit den Spalten erstellt: <code>id<\/code>, <code>name<\/code>, <code>email<\/code>, <code>body<\/code>, <code>approved<\/code>, <code>likes<\/code>, und <code>timestamps<\/code>.<\/p>\n<h3>Ausf\u00fchren der Migrationen<\/h3>\n<p>Das Erstellen und Bearbeiten der Migrationsdatei bewirkt erst dann etwas, wenn du sie \u00fcber die Befehlszeile ausf\u00fchrst. Wenn du dir den Datenbankmanager ansiehst, ist er noch leer.<\/p>\n<p>F\u00fchre die Migrationen mit Artisan aus:<\/p>\n<pre><code class=\"language-sh\">php artisan migrate<\/code><\/pre>\n<p>Dieser Befehl f\u00fchrt alle Migrationen innerhalb von <strong>database\/migrations<\/strong> aus, weil es die erste Migration seit der Erstellung der App ist:<\/p>\n<figure style=\"width: 980px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/successful-migrations.png\" alt=\"Erfolgreiche Migrationen\" width=\"980\" height=\"511\"><figcaption class=\"wp-caption-text\">Erfolgreiche Migrationen<\/figcaption><\/figure>\n<p>Das folgende Bild zeigt alle Migrationsdateien, die du ausgef\u00fchrt hast. Jede steht f\u00fcr eine Tabelle in der Datenbank:<\/p>\n<figure style=\"width: 1064px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/database-after-migrations.png\" alt=\"Datenbank nach den Migrationen\" width=\"1064\" height=\"247\"><figcaption class=\"wp-caption-text\">Datenbank nach den Migrationen<\/figcaption><\/figure>\n<h3>Erstelle die CommentFactory-Datei<\/h3>\n<p>Erstelle eine Fabrikdatei, die deine Definitionsfunktion enth\u00e4lt. F\u00fcr diese Demonstration erstellst du eine Factory mit Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:factory CommentFactory.php<\/code><\/pre>\n<p>Dieser Code erstellt eine <strong>CommentFactory<\/strong><strong>.php<\/strong>-Datei im Ordner <strong>database\/factories<\/strong>.<\/p>\n<h3>Die Definitionsfunktion<\/h3>\n<p>Die Funktion in <strong>CommentFactory<\/strong> legt fest, wie <a href=\"https:\/\/fakerphp.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> gef\u00e4lschte Daten erzeugt. Bearbeite sie so, dass sie wie folgt aussieht:<\/p>\n<pre><code class=\"language-php\">public function definition()\n  {\n   return [\n     'name' =&gt; $this-&gt;faker-&gt;name(),\n     'email' =&gt; $this-&gt;faker-&gt;email(),\n     'body' =&gt; $this-&gt;faker-&gt;sentence(45),\n     'approved' =&gt; $this-&gt;faker-&gt;boolean(),\n     'likes' =&gt; $this-&gt;faker-&gt;randomNumber(5)\n     ];\n    }<\/code><\/pre>\n<p>Dieser Code weist Faker an, Folgendes zu erzeugen:<\/p>\n<ul>\n<li>Einen Namen<\/li>\n<li>Eine E-Mail Adresse<\/li>\n<li>Einen Absatz, der 45 S\u00e4tze enth\u00e4lt<\/li>\n<li>Einen zugelassenen Wert, der nur wahr oder falsch sein kann<\/li>\n<li>Eine Zufallszahl zwischen 0 und 9999<\/li>\n<\/ul>\n<h3>Verbinden des Kommentar-Modells mit der CommentFactory<\/h3>\n<p>Verbinde das Modell <code>Comment<\/code> mit <code>CommentFactory<\/code>, indem du eine gesch\u00fctzte Variable <code>$model<\/code> oberhalb der Definition deklarierst:<\/p>\n<pre><code class=\"language-php\">protected $model = Comment::class;<\/code><\/pre>\n<p>F\u00fcge au\u00dferdem die <code>use AppModelsComment;<\/code> zu den Dateiabh\u00e4ngigkeiten hinzu. Die <strong>CommentFactory<\/strong>-Datei sollte nun wie folgt aussehen:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/comment-factory-file.png\" alt=\"Die CommentFactory-Datei\" width=\"1492\" height=\"1268\"><figcaption class=\"wp-caption-text\">Die CommentFactory-Datei<\/figcaption><\/figure>\n<h2>Wie wird die Datenbank gef\u00fcttert?<\/h2>\n<p>Seeding bedeutet in der Programmierung, dass man zu Testzwecken zuf\u00e4llige, gef\u00e4lschte Daten f\u00fcr eine Datenbank erzeugt.<\/p>\n<p>Nachdem du das Modell erstellt, die Migrationen ausgef\u00fchrt und die Definition in der CommentFactory erstellt hast, kannst du den Seeder mithilfe der <strong>DatabaseSeeder<\/strong>-Datei ausf\u00fchren.<\/p>\n<h3>Erstelle die CommentSeeder-Datei<\/h3>\n<p>Erstelle eine <strong>Seeder<\/strong>-Datei, die die Factory nutzt, um die Daten zu generieren:<\/p>\n<pre><code class=\"language-sh\">php artisan make:seeder CommentSeeder.php<\/code><\/pre>\n<p>Dieser Code erstellt eine <strong>CommentSeeder<\/strong><strong>.php<\/strong>-Datei im Ordner <strong>database\/seeders<\/strong>.<\/p>\n<h3>Bearbeite die Run-Funktion<\/h3>\n<p>Verbinde das Kommentar-Modell mit dem CommentSeeder. F\u00fcge den folgenden Code in die Run-Funktion ein:<\/p>\n<pre><code class=\"language-php\">Comment::factory()-&gt;count(50)-&gt;create();<\/code><\/pre>\n<p>Dieser Code weist den CommentSeeder an, das Comment-Modell und die Definitionsfunktion der CommentFactory zu verwenden, um 50 Kommentare in der Datenbank zu erzeugen. F\u00fcge au\u00dferdem die <code>use AppModelsComment;<\/code> zu den Dateiabh\u00e4ngigkeiten hinzu. Die <strong>CommentSeeder<\/strong>-Datei sollte nun wie folgt aussehen:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/comment-seeder-file.png\" alt=\"CommentSeeder-Datei\" width=\"1492\" height=\"896\"><figcaption class=\"wp-caption-text\">CommentSeeder-Datei<\/figcaption><\/figure>\n<p><strong>Hinweis:<\/strong> Du kannst Faker so konfigurieren, dass er lokale Daten erzeugt. Du kannst zum Beispiel einstellen, dass er italienische Namen anstelle von Zufallsnamen generiert, indem du <code>faker_locale<\/code> in der Datei <strong>app\/config.php<\/strong> auf <code>it_IT<\/code> setzt. Mehr \u00fcber Faker Locales erf\u00e4hrst du in diesem <a href=\"https:\/\/fakerphp.github.io\/locales\/it_IT\/\" target=\"_blank\" rel=\"noopener noreferrer\">Leitfaden<\/a>.<\/p>\n<h3>Ausf\u00fchren des Seeders<\/h3>\n<p>Als N\u00e4chstes f\u00fchrst du die <strong>Seeder<\/strong>-Datei mit Artisan aus:<\/p>\n<pre><code class=\"language-sh\">php artisan db:seed --class=CommentSeeder<\/code><\/pre>\n<p>Dieser Code f\u00fchrt die <strong>Seeder<\/strong>-Datei aus und generiert 50 Zeilen mit gef\u00e4lschten Daten in der Datenbank.<\/p>\n<figure style=\"width: 977px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/database-seed-successful.png\" alt=\"Datenbank-Seed erfolgreich\" width=\"977\" height=\"164\"><figcaption class=\"wp-caption-text\">Datenbank-Seed erfolgreich<\/figcaption><\/figure>\n<p>Die Datenbank sollte jetzt 50 Zeilen mit gef\u00e4lschten Daten enthalten, die du verwenden kannst, um die Funktionen deiner Anwendung zu testen:<\/p>\n<figure style=\"width: 1340px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/database-rows.png\" alt=\"50 Datenzeilen in der Datenbank\" width=\"1340\" height=\"787\"><figcaption class=\"wp-caption-text\">50 Datenzeilen in der Datenbank<\/figcaption><\/figure>\n<h2>So setzt du die Datenbank zur\u00fcck<\/h2>\n<p>Wenn du die generierten Daten zum Testen verwendest, setze die Datenbank jedes Mal zur\u00fcck, wenn du einen Test durchf\u00fchrst. Angenommen, du m\u00f6chtest die Funktion zum Umschalten zwischen genehmigten Kommentaren testen. Aktualisiere die Datenbank nach jedem Test, um sicherzustellen, dass die zuvor generierten Daten zuk\u00fcnftige Tests nicht beeintr\u00e4chtigen.<\/p>\n<h3>RefreshDatabase verwenden<\/h3>\n<p>Aktualisiere die Datenbank mit der Eigenschaft <code>RefreshDatabase<\/code> in der <strong>Testdatei<\/strong>.<\/p>\n<p>Navigiere in der Datei <strong>ExampleTest.php<\/strong> im Ordner <strong>tests\/Feature<\/strong> zum Kommentar <code>use IlluminateFoundationTestingRefreshDatabase;<\/code> und f\u00fcge die folgende Codezeile oberhalb der Funktion <code>test_the_application_returns_a_successful_response<\/code> ein:<\/p>\n<pre><code class=\"language-php\">use RefreshDatabase;<\/code><\/pre>\n<p>Die Datei <strong>ExampleTest.php<\/strong> sollte jetzt wie folgt aussehen:<\/p>\n<figure style=\"width: 1492px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/example-test-file.png\" alt=\"ExampleTest-Datei\" width=\"1492\" height=\"932\"><figcaption class=\"wp-caption-text\">ExampleTest-Datei<\/figcaption><\/figure>\n<h3>Den Test ausf\u00fchren<\/h3>\n<p>Nachdem du die Eigenschaft <code>RefreshDatabase<\/code> zur Testdatei hinzugef\u00fcgt hast, f\u00fchre den Test mit Artisan aus:<\/p>\n<pre><code class=\"language-sh\">php artisan test<\/code><\/pre>\n<p>Dieser Code f\u00fchrt alle Tests in der App aus und aktualisiert die Datenbank nach den Tests, wie in der folgenden Abbildung zu sehen ist:<\/p>\n<figure style=\"width: 421px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/successful-test.png\" alt=\"Ein erfolgreicher Artisan-Test\" width=\"421\" height=\"178\"><figcaption class=\"wp-caption-text\">Ein erfolgreicher Artisan-Test<\/figcaption><\/figure>\n<p>\u00dcberpr\u00fcfe nun die Datenbank, um die leere Kommentartabelle zu sehen:<\/p>\n<figure style=\"width: 545px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/03\/empty-comments-database.png\" alt=\"Leere Kommentar-Datenbank\" width=\"545\" height=\"277\"><figcaption class=\"wp-caption-text\">Leere Kommentar-Datenbank<\/figcaption><\/figure>\n\n<h2>Zusammenfassung<\/h2>\n<p>In diesem Artikel wurde beschrieben, wie man ein Laravel-Projekt erstellt, es mit einer <a href=\"https:\/\/sevalla.com\/database-hosting\/\">Datenbank<\/a> verbindet und Modelle, Migrations-, Factory- und Seeder-Dateien erstellt und konfiguriert, um Zufallsdaten f\u00fcr die Datenbank zu erzeugen. Au\u00dferdem wurde erl\u00e4utert, wie man die Datenbank nach der Durchf\u00fchrung von Tests zur\u00fccksetzt.<\/p>\n<p>Du hast jetzt gesehen, wie du mit Laravel Factories und Faker innerhalb von Minuten eine beliebige Menge an Testdaten erzeugen kannst, um eine Anwendung zu testen oder auch nur als Platzhalter &#8211; mit minimaler Konfiguration.<\/p>\n<p>Wenn deine Laravel-Anwendung bereit ist, kannst du sie mit den <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Application Hosting Services<\/a> von Kinsta schnell und effizient bereitstellen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Testen ist f\u00fcr die Webentwicklung unerl\u00e4sslich. Laravel-Modellfabriken definieren Datenbankdatens\u00e4tze auf vorhersehbare und leicht reproduzierbare Weise, damit deine App-Tests konsistent und kontrolliert sind. Modellfabriken definieren eine Reihe &#8230;<\/p>\n","protected":false},"author":259,"featured_media":61405,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[958],"class_list":["post-61404","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Wie man mit Laravel Model Factories gef\u00e4lschte Datens\u00e4tze generiert und verwendet - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wie man mit Laravel Model Factories Faker generiert und verwendet\" \/>\n<meta property=\"og:description\" content=\"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-05T10:18:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-27T10:14:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Steve Bonisteel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"Wie man mit Laravel Model Factories Faker generiert und verwendet\",\"datePublished\":\"2023-05-05T10:18:06+00:00\",\"dateModified\":\"2023-07-27T10:14:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\"},\"wordCount\":1654,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\",\"name\":\"Wie man mit Laravel Model Factories gef\u00e4lschte Datens\u00e4tze generiert und verwendet - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg\",\"datePublished\":\"2023-05-05T10:18:06+00:00\",\"dateModified\":\"2023-07-27T10:14:28+00:00\",\"description\":\"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wie man mit Laravel Model Factories Faker generiert und verwendet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g\",\"caption\":\"Steve Bonisteel\"},\"description\":\"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Wie man mit Laravel Model Factories gef\u00e4lschte Datens\u00e4tze generiert und verwendet - Kinsta\u00ae","description":"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/","og_locale":"de_DE","og_type":"article","og_title":"Wie man mit Laravel Model Factories Faker generiert und verwendet","og_description":"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.","og_url":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2023-05-05T10:18:06+00:00","article_modified_time":"2023-07-27T10:14:28+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg","twitter_creator":"@Kinsta_DE","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Steve Bonisteel","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"Wie man mit Laravel Model Factories Faker generiert und verwendet","datePublished":"2023-05-05T10:18:06+00:00","dateModified":"2023-07-27T10:14:28+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/"},"wordCount":1654,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg","inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/","url":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/","name":"Wie man mit Laravel Model Factories gef\u00e4lschte Datens\u00e4tze generiert und verwendet - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg","datePublished":"2023-05-05T10:18:06+00:00","dateModified":"2023-07-27T10:14:28+00:00","description":"Laravel Model Factories definieren Datenbankdatens\u00e4tze auf eine vorhersehbare und leicht reproduzierbare Weise. Erfahre, wie du Kommentardaten ohne echte Nutzerkommentare bekommst.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/laravel-model-factories.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/laravel-model-factories\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/de\/thema\/laravel\/"},{"@type":"ListItem","position":3,"name":"Wie man mit Laravel Model Factories Faker generiert und verwendet"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0adffb3f9c86a6ec8245f8399d540823?s=96&d=mm&r=g","caption":"Steve Bonisteel"},"description":"Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.","url":"https:\/\/kinsta.com\/de\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/61404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=61404"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/61404\/revisions"}],"predecessor-version":[{"id":62476,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/61404\/revisions\/62476"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/nl"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/se"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/translations\/dk"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/61404\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/61405"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=61404"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=61404"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=61404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}