{"id":50542,"date":"2023-05-05T11:18:05","date_gmt":"2023-05-05T10:18:05","guid":{"rendered":"https:\/\/kinsta.com\/dk\/?p=50542&#038;preview=true&#038;preview_id=50542"},"modified":"2023-08-24T10:16:43","modified_gmt":"2023-08-24T09:16:43","slug":"laravel-model-factories","status":"publish","type":"post","link":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/","title":{"rendered":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories"},"content":{"rendered":"<p>Testning er afg\u00f8rende for <a href=\"https:\/\/kinsta.com\/web-development\/\">webudvikling<\/a>. Laravel Model factories definerer databaseposter p\u00e5 en forudsigelig og let replikerbar m\u00e5de, s\u00e5 dine app-tests er konsistente og kontrollerede. Model factories definerer et s\u00e6t standardattributter for hver af dine Eloquent-modeller.<\/p>\n<p>Hvis du f.eks. laver en blogging-app, der giver forfattere og moderatorer mulighed for at godkende kommentarer, f\u00f8r de g\u00e5r live, skal du teste, om funktionen fungerer korrekt, f\u00f8r du udruller den til dine brugere. Alt dette kr\u00e6ver testdata.<\/p>\n<p>For at teste den blogging-app, der er beskrevet ovenfor, har du brug for kommentardata til at efterligne og teste din applikations funktionalitet. <a href=\"https:\/\/kinsta.com\/dk\/blog\/laravel-10\/\">Laravel<\/a> giver dig mulighed for at g\u00f8re det uden at f\u00e5 kommentarer fra faktiske brugere ved at bruge Laravel-factories og Faker til at generere falske data.<\/p>\n<p>Denne artikel forklarer, hvordan du f\u00e5r kommentardata uden kommentarer fra rigtige brugere.<\/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>Foruds\u00e6tninger<\/h2>\n<p>For at gennemf\u00f8re denne vejledning skal du v\u00e6re bekendt med f\u00f8lgende:<\/p>\n<ul>\n<li>XAMPP<\/li>\n<li>Composer<\/li>\n<\/ul>\n<p><a href=\"https:\/\/kinsta.com\/dk\/emner\/xampp\/\">XAMPP<\/a> er en gratis og let at installere Apache-distribution, der indeholder PHP, Perl og MariaDB &#8211; en MySQL-database. Denne vejledning bruger den nyeste version, 8.1.10, som installerer PHP 8.1.10. L\u00e6s <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\">denne artikel<\/a>, hvis du installerer XAMPP til MacOS, eller <a href=\"https:\/\/ostechnix.com\/install-xampp-in-linux\/\" target=\"_blank\" rel=\"noopener noreferrer\">denne vejledning<\/a> til Linux. Denne vejledning bruger XAMPP p\u00e5 Windows.<\/p>\n<p>Composer er et v\u00e6rkt\u00f8j, der giver dig mulighed for at definere, installere og hente de pakker, som din webapp afh\u00e6nger af i udvikling og produktion. Denne vejledning bruger <a href=\"https:\/\/getcomposer.org\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">version v2.4.4<\/a> af Composer, som kr\u00e6ver <a href=\"https:\/\/kinsta.com\/dk\/blog\/php-benchmarks\/\">PHP version 7.2+<\/a>. Du bruger Composer til at installere Laravel-installationsprogrammet til denne vejledning.<\/p>\n<p>Du kan ogs\u00e5 downloade den komplette kode til projektet for at f\u00f8lge <a href=\"https:\/\/github.com\/multi-Adams\/laravel-factories-article\" target=\"_blank\" rel=\"noopener noreferrer\">med<\/a>.<\/p>\n\n<h2>S\u00e5dan ops\u00e6ttes projektet<\/h2>\n<p>I dette afsnit opretter du et Laravel-projekt og forbinder det til en database. Lad os tage et kig p\u00e5 alt det, det indeb\u00e6rer, og hvordan du gennemf\u00f8rer det.<\/p>\n<h3>Installer Laravel installationsprogrammet<\/h3>\n<p>For hurtigt at oprette et Laravel-projekt skal du installere Laravel-installationsprogrammet:<\/p>\n<pre><code class=\"language-sh\">composer global require laravel\/installer<\/code><\/pre>\n<p>Denne kode installerer Laravel-installationsprogrammet globalt p\u00e5 din maskine.<\/p>\n<h3>Opret et Laravel-projekt<\/h3>\n<p>Derefter skal du <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#laravel\">oprette et Laravel-projekt<\/a> ved at k\u00f8re f\u00f8lgende:<\/p>\n<pre><code class=\"language-sh\">laravel new app-name<\/code><\/pre>\n<p>Denne kode starter et nyt Laravel-projekt og installerer alle afh\u00e6ngigheder:<\/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=\"Oprettelse af Laravel-projektet\" width=\"978\" height=\"510\"><figcaption class=\"wp-caption-text\">Oprettelse af Laravel-projektet<\/figcaption><\/figure>\n<p>En anden nemmere m\u00e5de at installere Laravel p\u00e5 er at bruge Composer direkte.<\/p>\n<pre><code class=\"language-sh\">composer create-project laravel\/laravel app-name<\/code><\/pre>\n<p>Du beh\u00f8ver ikke at installere Laravel-installationsprogrammet, n\u00e5r du bruger ovenst\u00e5ende metode.<\/p>\n<h3>Start appen<\/h3>\n<p>Du kan nu \u00e6ndre mappen til <strong>app-name<\/strong>\u00a0og starte projektet ved hj\u00e6lp af Laravels eget CLI-v\u00e6rkt\u00f8j (command-line interface), <a href=\"https:\/\/laravel.com\/docs\/9.x\/artisan#introduction\" target=\"_blank\" rel=\"noopener noreferrer\">Artisan<\/a>:<\/p>\n<pre><code class=\"language-sh\">php artisan serve<\/code><\/pre>\n<p>Denne kode starter projektet og forbinder det til localhost:8000 eller en anden tilg\u00e6ngelig port, hvis port 8000 er i brug. P\u00e5 localhost:8000 b\u00f8r du se noget som dette:<\/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=\" Laravel website forsiden\" width=\"771\" height=\"626\"><figcaption class=\"wp-caption-text\">Laravel<\/figcaption><\/figure>\n<h3>Opret en database<\/h3>\n<p>For at forbinde din app til en database skal du oprette en ny database ved hj\u00e6lp af XAMPP&#8217;s grafiske brugergr\u00e6nseflade PHPMyAdmin. G\u00e5 til <strong>localhost\/phpmyadmin<\/strong>, og klik p\u00e5 <strong>Ny<\/strong> p\u00e5 sidebaren:<\/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=\"Formularen Opret database i PHPMyAdmin\" width=\"560\" height=\"144\"><figcaption class=\"wp-caption-text\">Opret databaseformular<\/figcaption><\/figure>\n<p>Billedet ovenfor viser <strong>Create Database<\/strong> formularen med <strong>app_name<\/strong> som databasenavn.<\/p>\n<p>Klik p\u00e5 <strong>Create (Opret)<\/strong> for at oprette en database.<\/p>\n<h3>Rediger .env-filen<\/h3>\n<p>Hvis du vil forbinde din app til en database, skal du redigere DB-delen af <strong>.env-filen<\/strong>:<\/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>Denne kode udfylder databaseoplysningerne med databasens navn, brugernavn, port, adgangskode og v\u00e6rt. Du er nu klar til at begynde at oprette fabrikker og modeller.<\/p>\n<p><strong>Bem\u00e6rk:<\/strong> Udskift v\u00e6rdierne med dine databaseoplysninger. Hvis du ogs\u00e5 st\u00f8der p\u00e5 fejlen &#8220;Access denied for user,&#8221;, skal du s\u00e6tte v\u00e6rdierne for <code>DB_USERNAME<\/code> og <code>DB_PASSWORD<\/code> i dobbelte anf\u00f8rselstegn.<\/p>\n<h2>S\u00e5dan genererer du falske data<\/h2>\n<p>N\u00e5r du har oprettet appen og tilsluttet den til databasen, kan du nu oprette de n\u00f8dvendige filer til at generere falske data i databasen.<\/p>\n<h3>Opret kommentarmodellen<\/h3>\n<p>Opret modelfilen til at interagere med databasetabellerne. Du kan oprette en model ved at bruge Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:model Comment<\/code><\/pre>\n<p>Denne kode opretter en <strong>Comment.php-fil<\/strong> i mappen <strong>app\/Models<\/strong> med noget boilerplate-kode. Tilf\u00f8j f\u00f8lgende kode under linjen <code>use HasFactory;<\/code>:<\/p>\n<pre><code class=\"language-php\"> protected $fillable = [\n      'name',\n      'email',\n      'body',\n      'approved',\n      'likes'\n    ];<\/code><\/pre>\n<p>Denne kode indeholder en liste over de felter, du \u00f8nsker at tillade massetildelinger, fordi Laravel som standard beskytter din database mod massetildelinger. <strong>Comment-modelfilen<\/strong> skal nu se s\u00e5ledes ud:<\/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 model filen\" width=\"1492\" height=\"858\"><figcaption class=\"wp-caption-text\">Kommentar model fil<\/figcaption><\/figure>\n<h3>Oprettelse af migrationsfilen<\/h3>\n<p>N\u00e5r du har oprettet modelfilen og erkl\u00e6ret arrayet <code>$fillable<\/code>, skal du oprette migrationsfilen ved hj\u00e6lp af nedenst\u00e5ende kommando:<\/p>\n<pre><code class=\"language-sh\">php artisan make:migration create_comments_table<\/code><\/pre>\n<p><strong>Bem\u00e6rk:<\/strong> Navngivningskonventionen for oprettelse af migreringer i Laravel er normalt <code><a href=\"https:\/\/en.wikipedia.org\/wiki\/Snake_case\" target=\"_blank\" rel=\"noopener noreferrer\">snake_case<\/a><\/code>, ogs\u00e5 kendt som <code>underscore_case<\/code>. Det f\u00f8rste ord er handlingen, det andet ord er et flertal af modellen, og det sidste ord er den funktion, der bliver oprettet inde i projektet. Det betyder, at du skriver <code>create_books_table<\/code>, n\u00e5r du opretter en migration for en Book-model.<\/p>\n<p>Denne kode opretter en fil med navnet <strong>yyyy_mm_dd_hhmmss_create_comments_table<\/strong> inde i mappen <strong>database\/migrations<\/strong>.<\/p>\n<p>Derefter redigeres funktionen up inde i <strong>yyyyy_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>Denne kode opretter et skema, der opretter en tabel med kolonnerne: <code>id<\/code>, <code>name<\/code>, <code>email<\/code>, <code>body<\/code>, <code>approved<\/code>, <code>likes<\/code>, og <code>timestamps<\/code>.<\/p>\n<h3>K\u00f8r overflytningerne<\/h3>\n<p>Oprettelse og redigering af migrationsfilen vil ikke g\u00f8re noget, f\u00f8r du k\u00f8rer dem ved hj\u00e6lp af kommandolinjen. Hvis du kigger p\u00e5 databaseadministratoren, er den stadig tom.<\/p>\n<p>K\u00f8r migreringerne ved hj\u00e6lp af Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan migrate<\/code><\/pre>\n<p>Denne kommando k\u00f8rer alle migreringer inde i <strong>database\/migrations<\/strong>, fordi det er den f\u00f8rste migrering siden oprettelsen af appen:<\/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=\"Succesfulde migreringer\" width=\"980\" height=\"511\"><figcaption class=\"wp-caption-text\">Succesfulde migreringer<\/figcaption><\/figure>\n<p>F\u00f8lgende billede viser alle de migrationsfiler, du har k\u00f8rt. Hver repr\u00e6senterer en tabel i databasen:<\/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=\"Database efter migreringer\" width=\"1064\" height=\"247\"><figcaption class=\"wp-caption-text\">Database efter migreringer<\/figcaption><\/figure>\n<h3>Opret filen CommentFactory<\/h3>\n<p>Opret en fabriksfil, der indeholder din definitionsfunktion. I denne demonstration opretter du en fabrik ved hj\u00e6lp af Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:factory CommentFactory.php<\/code><\/pre>\n<p>Denne kode opretter en <strong>CommentFactory<\/strong><strong>.php-fil<\/strong> i mappen <strong>database\/factories<\/strong>.<\/p>\n<h3>Definitionsfunktionen<\/h3>\n<p>Funktionen inde i <strong>CommentFactory<\/strong> definerer, hvordan <a href=\"https:\/\/fakerphp.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> genererer falske data. Rediger den, s\u00e5 den ser s\u00e5ledes ud:<\/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>Denne kode fort\u00e6ller Faker, at den skal generere f\u00f8lgende:<\/p>\n<ul>\n<li>Et navn<\/li>\n<li>En e-mail-adresse<\/li>\n<li>Et afsnit, der indeholder 45 s\u00e6tninger<\/li>\n<li>En godkendt v\u00e6rdi, der kun kan v\u00e6re true eller false<\/li>\n<li>Et tilf\u00e6ldigt tal mellem 0 og 9999<\/li>\n<\/ul>\n<h3>Tilslut kommentarmodellen til CommentFactory<\/h3>\n<p>Forbind modellen <code>Comment<\/code> med <code>CommentFactory<\/code> ved at deklarere en beskyttet <code>$model<\/code> -variabel over definitionen:<\/p>\n<pre><code class=\"language-php\">protected $model = Comment::class;<\/code><\/pre>\n<p>Tilf\u00f8j ogs\u00e5 <code>use App\\Models\\Comment;<\/code> til filafh\u00e6ngighederne. <strong>CommentFactory-filen<\/strong> b\u00f8r nu se s\u00e5ledes ud:<\/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=\"CommentFactory-filen\" width=\"1492\" height=\"1268\"><figcaption class=\"wp-caption-text\">CommentFactory-filen<\/figcaption><\/figure>\n<h2>S\u00e5dan seedes databasen<\/h2>\n<p>Seeding i programmering betyder at generere tilf\u00e6ldige falske data til en database til testform\u00e5l.<\/p>\n<p>Nu, hvor du har oprettet modellen, k\u00f8rt migreringer og oprettet definitionen i CommentFactory, skal du k\u00f8re seederen ved hj\u00e6lp af <strong>DatabaseSeeder-filen<\/strong>.<\/p>\n<h3>Opret filen CommentSeeder<\/h3>\n<p>Opret en <strong>seeder-fil<\/strong>, der bruger factory til at generere dataene:<\/p>\n<pre><code class=\"language-sh\">php artisan make:seeder CommentSeeder.php<\/code><\/pre>\n<p>Denne kode opretter en <strong>CommentSeeder<\/strong><strong>.php-fil<\/strong> inde i mappen <strong>database\/seeders<\/strong>.<\/p>\n<h3>Rediger Run-funktionen<\/h3>\n<p>Forbind kommentarmodellen med CommentSeeder. Tilf\u00f8j f\u00f8lgende kode inde i run-funktionen:<\/p>\n<pre><code class=\"language-php\">Comment::factory()-&gt;count(50)-&gt;create();<\/code><\/pre>\n<p>Denne kode fort\u00e6ller CommentSeeder, at den skal bruge Comment-modellen og CommentFactory&#8217;s definitionsfunktion til at generere 50 kommentarer i databasen. Tilf\u00f8j ogs\u00e5 <code>use App\\Models\\Comment;<\/code> til filafh\u00e6ngighederne. <strong>CommentSeeder-filen<\/strong> skal nu se s\u00e5ledes ud:<\/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-filen\" width=\"1492\" height=\"896\"><figcaption class=\"wp-caption-text\">CommentSeeder-fil<\/figcaption><\/figure>\n<p><strong>Bem\u00e6rk:<\/strong> Du kan konfigurere Faker til at oprette lokale data. Du kan f.eks. indstille den til at generere italienske navne i stedet for tilf\u00e6ldige navne ved at indstille <code>faker_locale<\/code> i filen <strong>app\/config.php<\/strong> til <code>it_IT<\/code>. Du kan l\u00e6se mere om Faker Locales i denne <a href=\"https:\/\/fakerphp.github.io\/locales\/it_IT\/\" target=\"_blank\" rel=\"noopener noreferrer\">vejledning<\/a>.<\/p>\n<h3>K\u00f8r Seeder&#8217;en<\/h3>\n<p>Dern\u00e6st skal du k\u00f8re <strong>seeder-filen<\/strong> med Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan db:seed --class=CommentSeeder<\/code><\/pre>\n<p>Denne kode k\u00f8rer <strong>seeder-filen<\/strong> og genererer 50 r\u00e6kker med falske data i databasen.<\/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=\"Database seed lykkedes\" width=\"977\" height=\"164\"><figcaption class=\"wp-caption-text\">Database seed lykkedes<\/figcaption><\/figure>\n<p>Databasen b\u00f8r nu have 50 r\u00e6kker falske data, som du kan bruge til at teste din applikations funktioner:<\/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 r\u00e6kker data i databasen\" width=\"1340\" height=\"787\"><figcaption class=\"wp-caption-text\">50 r\u00e6kker data i databasen<\/figcaption><\/figure>\n<h2>S\u00e5dan nulstiller du databasen<\/h2>\n<p>N\u00e5r du bruger de genererede data til test, skal du nulstille databasen, hver gang du k\u00f8rer en test. Lad os antage, at du vil teste funktionen til at skifte mellem godkendte kommentarer. Opdater databasen efter hver test for at sikre, at de tidligere genererede data ikke forstyrrer fremtidige tests.<\/p>\n<h3>Brug RefreshDatabase<\/h3>\n<p>Opdater databasen ved hj\u00e6lp af egenskaben <code>RefreshDatabase<\/code> i <strong>testfilen<\/strong>.<\/p>\n<p>Naviger til <strong>ExampleTest.php<\/strong> i mappen <strong>tests\/Feature<\/strong> til kommentaren <code>use Illuminate\\Foundation\\Testing\\RefreshDatabase;<\/code>\u00a0og tilf\u00f8j f\u00f8lgende kodelinje over funktionen <code>test_the_application_returns_a_successful_response<\/code>:<\/p>\n<pre><code class=\"language-php\">use RefreshDatabase;<\/code><\/pre>\n<p>Filen <strong>ExampleTest.php<\/strong> b\u00f8r nu se s\u00e5ledes ud:<\/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-filen\" width=\"1492\" height=\"932\"><figcaption class=\"wp-caption-text\">ExampleTest-filen<\/figcaption><\/figure>\n<h3>K\u00f8r testen<\/h3>\n<p>N\u00e5r du har tilf\u00f8jet egenskaben <code>RefreshDatabase<\/code> til testfilen, skal du k\u00f8re testen med Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan test<\/code><\/pre>\n<p>Denne kode k\u00f8rer alle testene i appen og opdaterer databasen efter testene, som vist i billedet nedenfor:<\/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=\"En vellykket Artisan-test\" width=\"421\" height=\"178\"><figcaption class=\"wp-caption-text\">En vellykket Artisan-test<\/figcaption><\/figure>\n<p>Tjek nu databasen for at se den tomme kommentartabel:<\/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=\"Tomme kommentarer database\" width=\"545\" height=\"277\"><figcaption class=\"wp-caption-text\">Tomme kommentarer database<\/figcaption><\/figure>\n\n<h2>Oversigt<\/h2>\n<p>I denne artikel blev det beskrevet, hvordan man opretter et Laravel-projekt, forbinder det til en <a href=\"https:\/\/sevalla.com\/database-hosting\/\">database<\/a> og opretter og konfigurerer modeller, migrations-, fabriks- og seeder-filer til at generere tilf\u00e6ldige data til databasen. Den behandlede ogs\u00e5, hvordan man nulstiller databasen efter at have k\u00f8rt test.<\/p>\n<p>Du har nu set, hvordan Laravel Factories og Faker g\u00f8r det nemt at generere en hvilken som helst m\u00e6ngde testdata p\u00e5 f\u00e5 minutter til at teste en applikation eller endda som en placeholder &#8211; med minimal konfiguration.<\/p>\n<p>N\u00e5r din Laravel-app er klar til at blive implementeret, kan du g\u00f8re det p\u00e5 Kinstas <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Applikation Hosting-tjenester<\/a> hurtigt og effektivt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Testning er afg\u00f8rende for webudvikling. Laravel Model factories definerer databaseposter p\u00e5 en forudsigelig og let replikerbar m\u00e5de, s\u00e5 dine app-tests er konsistente og kontrollerede. Model factories &#8230;<\/p>\n","protected":false},"author":259,"featured_media":50543,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[712],"class_list":["post-50542","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>S\u00e5dan genereres og bruges falske records med Laravel Model Factories - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.\" \/>\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\/dk\/blog\/laravel-model-factories\/\" \/>\n<meta property=\"og:locale\" content=\"da_DK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S\u00e5dan genereres og bruges falske records med Laravel Model Factories\" \/>\n<meta property=\"og:description\" content=\"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-05T10:18:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-24T09:16:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/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 fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_dk\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_dk\" \/>\n<meta name=\"twitter:label1\" content=\"Skrevet af\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimeret l\u00e6setid\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"S\u00e5dan genereres og bruges falske records med Laravel Model Factories\",\"datePublished\":\"2023-05-05T10:18:05+00:00\",\"dateModified\":\"2023-08-24T09:16:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/\"},\"wordCount\":1623,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg\",\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/\",\"url\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/\",\"name\":\"S\u00e5dan genereres og bruges falske records med Laravel Model Factories - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg\",\"datePublished\":\"2023-05-05T10:18:05+00:00\",\"dateModified\":\"2023-08-24T09:16:43+00:00\",\"description\":\"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#breadcrumb\"},\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg\",\"width\":3042,\"height\":1521,\"caption\":\"S\u00e5dan genereres og bruges falske records med Laravel Model Factories\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/dk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/dk\/emner\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"S\u00e5dan genereres og bruges falske records med Laravel Model Factories\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/dk\/#website\",\"url\":\"https:\/\/kinsta.com\/dk\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Hurtig, sikker, premium hostingl\u00f8sninger\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/dk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"da-DK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/dk\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/dk\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/\",\"https:\/\/x.com\/kinsta_dk\",\"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\/dk\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/kinsta.com\/dk\/#\/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\/dk\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories - Kinsta\u00ae","description":"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.","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\/dk\/blog\/laravel-model-factories\/","og_locale":"da_DK","og_type":"article","og_title":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories","og_description":"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.","og_url":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/","article_published_time":"2023-05-05T10:18:05+00:00","article_modified_time":"2023-08-24T09:16:43+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.","twitter_image":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg","twitter_creator":"@kinsta_dk","twitter_site":"@kinsta_dk","twitter_misc":{"Skrevet af":"Steve Bonisteel","Estimeret l\u00e6setid":"9 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories","datePublished":"2023-05-05T10:18:05+00:00","dateModified":"2023-08-24T09:16:43+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/"},"wordCount":1623,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/dk\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg","inLanguage":"da-DK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/","url":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/","name":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/dk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg","datePublished":"2023-05-05T10:18:05+00:00","dateModified":"2023-08-24T09:16:43+00:00","description":"Laravel Model fabrikker definerer database-records p\u00e5 en forudsigelig og let replikerbar m\u00e5de. L\u00e6r, hvordan du f\u00e5r kommentardata uden rigtige brugerkommentarer.","breadcrumb":{"@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#breadcrumb"},"inLanguage":"da-DK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/"]}]},{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#primaryimage","url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg","contentUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/05\/laravel-model-factories.jpg","width":3042,"height":1521,"caption":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/dk\/blog\/laravel-model-factories\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/dk\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/dk\/emner\/laravel\/"},{"@type":"ListItem","position":3,"name":"S\u00e5dan genereres og bruges falske records med Laravel Model Factories"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/dk\/#website","url":"https:\/\/kinsta.com\/dk\/","name":"Kinsta\u00ae","description":"Hurtig, sikker, premium hostingl\u00f8sninger","publisher":{"@id":"https:\/\/kinsta.com\/dk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/dk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"da-DK"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/dk\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/dk\/","logo":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/dk\/wp-content\/uploads\/sites\/12\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/dk\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Danmark-122855885298660\/","https:\/\/x.com\/kinsta_dk","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\/dk\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/kinsta.com\/dk\/#\/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\/dk\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/50542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/comments?post=50542"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/50542\/revisions"}],"predecessor-version":[{"id":50695,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/posts\/50542\/revisions\/50695"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/nl"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/se"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/translations\/dk"},{"href":"https:\/\/kinsta.com\/dk\/wp-json\/kinsta\/v1\/posts\/50542\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/media\/50543"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/media?parent=50542"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/tags?post=50542"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/dk\/wp-json\/wp\/v2\/topic?post=50542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}