{"id":65457,"date":"2023-05-05T12:18:08","date_gmt":"2023-05-05T10:18:08","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=65457&#038;preview=true&#038;preview_id=65457"},"modified":"2025-01-17T13:59:53","modified_gmt":"2025-01-17T12:59:53","slug":"laravel-model-factories","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/","title":{"rendered":"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories"},"content":{"rendered":"<p>Las pruebas son esenciales para el <a href=\"https:\/\/kinsta.com\/web-development\/\">desarrollo web<\/a>. Laravel Model factories definen los registros de la base de datos de forma predecible y f\u00e1cilmente replicable, para que las pruebas de tu aplicaci\u00f3n sean coherentes y est\u00e9n controladas. Model factories definen un conjunto de atributos predeterminados para cada uno de tus Eloquent models.<\/p>\n<p>Por ejemplo, si est\u00e1s creando una aplicaci\u00f3n de blogging que permita a los autores y moderadores aprobar comentarios antes de que se publiquen, necesitar\u00e1s probar si la funci\u00f3n funciona correctamente antes de desplegarla a tus usuarios. Todo esto requiere datos de prueba.<\/p>\n<p>Para probar la app de blogging descrita anteriormente, necesitas datos de comentarios para imitar y probar la funcionalidad de tu aplicaci\u00f3n. <a href=\"https:\/\/kinsta.com\/es\/blog\/laravel-10\/\">Laravel<\/a> te permite hacerlo sin obtener comentarios de usuarios reales utilizando las Laravel factories y Faker para generar datos falsos.<\/p>\n<p>Este art\u00edculo explica c\u00f3mo obtener datos de comentarios sin comentarios de usuarios reales.<\/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>Requisitos Previos<\/h2>\n<p>Para completar este tutorial, debes estar familiarizado con lo siguiente:<\/p>\n<ul>\n<li>XAMPP<\/li>\n<li>Compositor<\/li>\n<\/ul>\n<p><a href=\"https:\/\/kinsta.com\/es\/secciones\/xampp\/\">XAMPP<\/a> es una distribuci\u00f3n de Apache gratuita y f\u00e1cil de instalar que contiene PHP, Perl y MariaDB \u2014 una base de datos MySQL. Este tutorial utiliza la \u00faltima versi\u00f3n, 8.1.10, que instala PHP 8.1.10. Lee <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\">este art\u00edculo<\/a> si instalas XAMPP para MacOS o <a href=\"https:\/\/ostechnix.com\/install-xampp-in-linux\/\" target=\"_blank\" rel=\"noopener noreferrer\">esta gu\u00eda<\/a> para Linux. Este tutorial utiliza XAMPP en Windows.<\/p>\n<p>Composer es una herramienta que te permite definir, instalar y descargar los paquetes de los que depende tu aplicaci\u00f3n web en desarrollo y producci\u00f3n. Este tutorial utiliza <a href=\"https:\/\/getcomposer.org\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">la versi\u00f3n v2.4.4<\/a> de Composer, que requiere <a href=\"https:\/\/kinsta.com\/es\/blog\/puntos-de-referencia-php\/\">PHP versi\u00f3n 7.2+<\/a>. Utiliza Composer para instalar el instalador de Laravel para este tutorial.<\/p>\n<p>Tambi\u00e9n puedes descargar el c\u00f3digo completo del proyecto para <a href=\"https:\/\/github.com\/multi-Adams\/laravel-factories-article\" target=\"_blank\" rel=\"noopener noreferrer\">seguirlo<\/a>.<\/p>\n\n<h2>C\u00f3mo Configurar el Proyecto<\/h2>\n<p>En esta secci\u00f3n, crear\u00e1s un proyecto Laravel y lo conectar\u00e1s a una base de datos. Echemos un vistazo a todo lo que eso implica y c\u00f3mo lograrlo.<\/p>\n<h3>Instalar el Instalador de Laravel<\/h3>\n<p>Para crear un proyecto Laravel r\u00e1pidamente, instala el instalador de Laravel:<\/p>\n<pre><code class=\"language-sh\">composer global require laravel\/installer<\/code><\/pre>\n<p>Este c\u00f3digo instala el instalador de Laravel globalmente en tu m\u00e1quina.<\/p>\n<h3>Crea un Proyecto Laravel<\/h3>\n<p>A continuaci\u00f3n, <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#laravel\">crea un proyecto Laravel<\/a> ejecutando lo siguiente:<\/p>\n<pre><code class=\"language-sh\">laravel new app-name<\/code><\/pre>\n<p>Este c\u00f3digo arranca un nuevo proyecto Laravel e instala todas las dependencias:<\/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=\"Crear el proyecto Laravel\" width=\"978\" height=\"510\"><figcaption class=\"wp-caption-text\">Crear el proyecto Laravel<\/figcaption><\/figure>\n<p>Otra forma m\u00e1s sencilla de instalar Laravel es utilizar Composer directamente.<\/p>\n<pre><code class=\"language-sh\">composer create-project laravel\/laravel app-name<\/code><\/pre>\n<p>No necesitas instalar el instalador de Laravel si utilizas el m\u00e9todo anterior.<\/p>\n<h3>Inicia la App<\/h3>\n<p>Ahora puedes cambiar el directorio a <strong>app-name<\/strong> e iniciar el proyecto utilizando la propia herramienta de interfaz de l\u00ednea de comandos (CLI) de Laravel, <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>Este c\u00f3digo inicia el proyecto y lo conecta a localhost:8000 o a cualquier otro puerto disponible si el puerto 8000 est\u00e1 en uso. En localhost:8000, deber\u00edas ver algo como esto:<\/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=\"La p\u00e1gina de inicio del sitio web de Laravel\" width=\"771\" height=\"626\"><figcaption class=\"wp-caption-text\">Laravel<\/figcaption><\/figure>\n<h3>Crear una Base de Datos<\/h3>\n<p>Para conectar tu aplicaci\u00f3n a una base de datos, debes crear una nueva base de datos utilizando la interfaz gr\u00e1fica de usuario PHPMyAdmin de XAMPP. Ve a <strong>localhost\/phpmyadmin<\/strong> y haz clic en <strong>Nuevo<\/strong> en la barra lateral:<\/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=\"El formulario Crear base de datos en PHPMyAdmin\" width=\"560\" height=\"144\"><figcaption class=\"wp-caption-text\">Crear base de datos<\/figcaption><\/figure>\n<p>La imagen anterior muestra el formulario <strong>Crear Base de Datos<\/strong> con <strong>app_name<\/strong> como nombre de la base de datos.<\/p>\n<p>Haz clic en <strong>Crear<\/strong> para crear una base de datos.<\/p>\n<h3>Editar el Archivo .env<\/h3>\n<p>Para conectar tu app a una base de datos, debes editar la parte DB del archivo <strong>.env<\/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>Este c\u00f3digo rellena las credenciales de la base de datos con el nombre, nombre de usuario, puerto, contrase\u00f1a y host de tu base de datos. Ya est\u00e1s listo para empezar a crear factories y models.<\/p>\n<p><strong>Nota:<\/strong> Sustituye los valores por las credenciales de tu base de datos. Adem\u00e1s, si te encuentras con el error \u00abAcceso denegado para el usuario,\u00bb pon los valores de <code>DB_USERNAME<\/code> y <code>DB_PASSWORD<\/code> entre comillas dobles.<\/p>\n<h2>C\u00f3mo Generar Datos Falsos<\/h2>\n<p>Tras crear la app y conectarla a la base de datos, ahora puedes crear los archivos necesarios para generar datos falsos en la base de datos.<\/p>\n<h3>Crear el Comment Model<\/h3>\n<p>Crea el fichero model para interactuar con las tablas de la base de datos. Para crear un model, utiliza Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:model Comment<\/code><\/pre>\n<p>Este c\u00f3digo crea un archivo <strong>Comment.php<\/strong> dentro de la carpeta <strong>app\/Models<\/strong> con algo de c\u00f3digo boilerplate. A\u00f1ade el siguiente c\u00f3digo debajo de la l\u00ednea <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>Este c\u00f3digo enumera los campos que quieres permitir asignaciones masivas porque Laravel protege tu base de datos de asignaciones masivas por defecto. El archivo <strong>Comment<\/strong> model deber\u00eda tener ahora este aspecto:<\/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=\"El archivo Comment model\" width=\"1492\" height=\"858\"><figcaption class=\"wp-caption-text\">El archivo Comment model<\/figcaption><\/figure>\n<h3>Crear el Archivo Migration<\/h3>\n<p>Despu\u00e9s de crear el fichero model y declarar el array <code>$fillable<\/code>, debes crear el fichero migration utilizando el comando que se indica a continuaci\u00f3n:<\/p>\n<pre><code class=\"language-sh\">php artisan make:migration create_comments_table<\/code><\/pre>\n<p><strong>Nota:<\/strong> La convenci\u00f3n de nomenclatura para crear migraciones en Laravel suele ser <code><a href=\"https:\/\/en.wikipedia.org\/wiki\/Snake_case\" target=\"_blank\" rel=\"noopener noreferrer\">snake_case<\/a><\/code> tambi\u00e9n conocido como <code>underscore_case<\/code>. La primera palabra es la acci\u00f3n, la segunda palabra es un plural del modelo, y la \u00faltima palabra es la caracter\u00edstica que se crea dentro del proyecto. Esto significa que escribir\u00e1s <code>create_books_table<\/code> cuando crees una migraci\u00f3n para un modelo Libro.<\/p>\n<p>Este c\u00f3digo crea un archivo llamado <strong>yyyy_mm_dd_hhmmss_create_comments_table<\/strong> dentro de la carpeta <strong>database\/migrations<\/strong>.<\/p>\n<p>A continuaci\u00f3n, edita la funci\u00f3n up dentro de <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>Este c\u00f3digo crea un esquema que crea una tabla con las columnas <code>id<\/code>, <code>name<\/code>, <code>email<\/code>, <code>body<\/code>, <code>approved<\/code>, <code>likes<\/code>, y <code>timestamps<\/code>.<\/p>\n<h3>Ejecutar las Migraciones<\/h3>\n<p>Crear y editar el archivo migrations no har\u00e1 nada hasta que los ejecutes utilizando la l\u00ednea de comandos. Si miras el gestor de base de datos, sigue estando vac\u00edo.<\/p>\n<p>Ejecuta las migraciones utilizando Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan migrate<\/code><\/pre>\n<p>Este comando ejecuta todas las migraciones dentro de <strong>database\/migrations<\/strong>\u00a0porque es la primera migraci\u00f3n desde la creaci\u00f3n de la app:<\/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=\"Migraciones exitosas\" width=\"980\" height=\"511\"><figcaption class=\"wp-caption-text\">Migraciones exitosas<\/figcaption><\/figure>\n<p>La siguiente imagen muestra todos los archivos de migraci\u00f3n que has ejecutado. Cada uno representa una tabla de la base de datos:<\/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=\"La Base de Datos despu\u00e9s de la migraci\u00f3n\" width=\"1064\" height=\"247\"><figcaption class=\"wp-caption-text\">La Base de Datos despu\u00e9s de la migraci\u00f3n<\/figcaption><\/figure>\n<h3>Crear el Archivo CommentFactory<\/h3>\n<p>Crea un archivo factory que contenga tu funci\u00f3n de definici\u00f3n. Para esta demostraci\u00f3n, crear\u00e1s un factory utilizando Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan make:factory CommentFactory.php<\/code><\/pre>\n<p>Este c\u00f3digo crea un archivo <strong>CommentFactory.php<\/strong> dentro de la carpeta <strong>database\/factories<\/strong>.<\/p>\n<h3>La Funci\u00f3n Definition<\/h3>\n<p>La funci\u00f3n dentro de <strong>CommentFactory<\/strong> define c\u00f3mo <a href=\"https:\/\/fakerphp.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> genera datos falsos. Ed\u00edtala para que tenga este aspecto:<\/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>Este c\u00f3digo le dice a Faker que genere lo siguiente:<\/p>\n<ul>\n<li>Un nombre<\/li>\n<li>Una direcci\u00f3n de correo electr\u00f3nico<\/li>\n<li>Un p\u00e1rrafo que contiene 45 frases<\/li>\n<li>Un valor aprobado que s\u00f3lo puede ser verdadero o falso<\/li>\n<li>Un n\u00famero aleatorio entre 0 y 9999<\/li>\n<\/ul>\n<h3>Conectar el Comment Model a CommentFactory<\/h3>\n<p>Vincula el <code>Comment<\/code> model a <code>CommentFactory<\/code> declarando una variable protegida <code>$model<\/code> encima de la definici\u00f3n:<\/p>\n<pre><code class=\"language-php\">protected $model = Comment::class;<\/code><\/pre>\n<p>A\u00f1ade tambi\u00e9n <code>use <span id=\"urn:enhancement-1c22030d-bfba-4547-896c-7ab419e4e6c2\" class=\"textannotation\">App<\/span>\\Models\\<span id=\"urn:enhancement-fd7b11c2-a768-4b96-b163-2eed5c938bf0\" class=\"textannotation\">Comment<\/span>;<\/code>\u00a0a las dependencias del archivo. El archivo <strong>CommentFactory<\/strong> deber\u00eda tener ahora este aspecto:<\/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=\"El archivo CommentFactory\" width=\"1492\" height=\"1268\"><figcaption class=\"wp-caption-text\">El archivo CommentFactory<\/figcaption><\/figure>\n<h2>C\u00f3mo Sembrar la Base de Datos<\/h2>\n<p>En programaci\u00f3n, sembrar (seeder) significa generar datos aleatorios falsos para una base de datos con fines de prueba.<\/p>\n<p>Ahora que has creado el model, ejecutado las migraciones y creado la definici\u00f3n dentro de CommentFactory, ejecuta el sembrador utilizando el archivo <strong>DatabaseSeeder<\/strong>.<\/p>\n<h3>Crear el Archivo CommentSeeder<\/h3>\n<p>Crea un archivo <strong>seeder<\/strong>\u00a0que utilice factory para generar los datos:<\/p>\n<pre><code class=\"language-sh\">php artisan make:seeder CommentSeeder.php<\/code><\/pre>\n<p>Este c\u00f3digo crea un archivo <strong>CommentSeeder<\/strong><strong>.php<\/strong> dentro de la carpeta <strong>database\/seeders<\/strong>.<\/p>\n<h3>Edita la Funci\u00f3n Run<\/h3>\n<p>Conecta el Comment\u00a0mode al CommentSeeder. A\u00f1ade el siguiente c\u00f3digo dentro de la funci\u00f3n de ejecuci\u00f3n:<\/p>\n<pre><code class=\"language-php\">Comment::factory()-&gt;count(50)-&gt;create();<\/code><\/pre>\n<p>Este c\u00f3digo indica al CommentSeeder que utilice el Comment model y la funci\u00f3n de definici\u00f3n de CommentFactory para generar 50 comentarios dentro de la base de datos. A\u00f1ade tambi\u00e9n el <code>use <span id=\"urn:enhancement-08ad87d8-1943-4d96-bdfc-0e11bf276fde\" class=\"textannotation\">App<\/span>\\Models\\<span id=\"urn:enhancement-c83e8b21-2f4f-4491-93fd-0ad01123898a\" class=\"textannotation\">Comment<\/span>;<\/code>\u00a0a las dependencias del archivo. El archivo <strong>CommentSeeder<\/strong> deber\u00eda tener ahora este aspecto:<\/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=\"Archivo CommentSeeder\" width=\"1492\" height=\"896\"><figcaption class=\"wp-caption-text\">Archivo CommentSeeder<\/figcaption><\/figure>\n<p><strong>Nota:<\/strong> Puedes configurar Faker para que cree datos locales. Por ejemplo, puedes configurarlo para que genere nombres espa\u00f1oles en lugar de nombres aleatorios estableciendo <code>faker_locale<\/code> dentro del archivo <strong>app\/config.php<\/strong> en <code>es_ES<\/code>. Puedes leer m\u00e1s sobre Faker Locales en esta <a href=\"https:\/\/fakerphp.github.io\/locales\/it_IT\/\" target=\"_blank\" rel=\"noopener noreferrer\">gu\u00eda<\/a>.<\/p>\n<h3>Ejecuta el Seeder<\/h3>\n<p>A continuaci\u00f3n, ejecuta el archivo <strong>seeder<\/strong> con Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan db:seed --class=CommentSeeder<\/code><\/pre>\n<p>Este c\u00f3digo ejecuta el archivo <strong>seeder<\/strong>\u00a0y genera 50 filas de datos falsos en la base de datos.<\/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=\"Base de datos sembrada con \u00e9xito\" width=\"977\" height=\"164\"><figcaption class=\"wp-caption-text\">Base de datos sembrada con \u00e9xito<\/figcaption><\/figure>\n<p>La base de datos deber\u00eda tener ahora 50 filas de datos falsos que puedes utilizar para probar las funciones de tu aplicaci\u00f3n:<\/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 filas de datos en la base de datos\" width=\"1340\" height=\"787\"><figcaption class=\"wp-caption-text\">50 filas de datos en la base de datos<\/figcaption><\/figure>\n<h2>C\u00f3mo Restablecer la Base de Datos<\/h2>\n<p>Cuando utilices los datos generados para realizar pruebas, restablece la base de datos cada vez que ejecutes una prueba. Supongamos que quieres probar la funci\u00f3n de alternar comentarios aprobados. Refresca la base de datos despu\u00e9s de cada prueba para asegurarte de que los datos generados anteriormente no interferir\u00e1n en futuras pruebas.<\/p>\n<h3>Utiliza RefreshDatabase<\/h3>\n<p>Refresca la base de datos utilizando el rasgo <code>RefreshDatabase<\/code> dentro del archivo de <strong>prueba<\/strong>.<\/p>\n<p>Navega a <strong>ExampleTest.php<\/strong> dentro de la carpeta <strong>tests\/Feature<\/strong> hasta el comentario <code>use Illuminate\\Foundation\\<span id=\"urn:enhancement-706cb19e-09e8-4547-ae1f-3a0151574d11\" class=\"textannotation\">Testing<\/span>\\RefreshDatabase;<\/code>\u00a0y a\u00f1ade la siguiente l\u00ednea de c\u00f3digo encima de la funci\u00f3n <code>test_the_application_returns_a_successful_response<\/code>:<\/p>\n<pre><code class=\"language-php\">use RefreshDatabase;<\/code><\/pre>\n<p>El archivo <strong>ExampleTest.php<\/strong> deber\u00eda tener ahora este aspecto:<\/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=\"Archivo ExampleTest\" width=\"1492\" height=\"932\"><figcaption class=\"wp-caption-text\">Archivo ExampleTest<\/figcaption><\/figure>\n<h3>Ejecuta la Prueba<\/h3>\n<p>Despu\u00e9s de a\u00f1adir el rasgo <code>RefreshDatabase<\/code> al archivo de prueba, ejecuta la prueba con Artisan:<\/p>\n<pre><code class=\"language-sh\">php artisan test<\/code><\/pre>\n<p>Este c\u00f3digo ejecuta todas las pruebas de la aplicaci\u00f3n y actualiza la base de datos despu\u00e9s de las pruebas, como se muestra en la siguiente imagen:<\/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=\"Una prueba Artisan realizada con \u00e9xito\" width=\"421\" height=\"178\"><figcaption class=\"wp-caption-text\">Una prueba Artisan realizada con \u00e9xito<\/figcaption><\/figure>\n<p>Ahora, comprueba la base de datos para ver la tabla de comentarios vac\u00eda:<\/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=\"Base de datos de comentarios vac\u00eda\" width=\"545\" height=\"277\"><figcaption class=\"wp-caption-text\">Base de datos de comentarios vac\u00eda<\/figcaption><\/figure>\n\n<h2>Resumen<\/h2>\n<p>En este art\u00edculo se ha explicado c\u00f3mo crear un proyecto Laravel, conectarlo a una <a href=\"https:\/\/sevalla.com\/database-hosting\/\">base de datos<\/a> y crear y configurar los archivos models, migration, factory y seeder para generar datos aleatorios para la base de datos. Tambi\u00e9n se ha explicado c\u00f3mo restablecer la base de datos despu\u00e9s de ejecutar pruebas.<\/p>\n<p>Ahora has visto c\u00f3mo las Laravel Factories y Faker facilitan la generaci\u00f3n de cualquier cantidad de datos de prueba en cuesti\u00f3n de minutos para probar una aplicaci\u00f3n o incluso como marcador de posici\u00f3n, con una configuraci\u00f3n m\u00ednima.<\/p>\n<p>Cuando tu aplicaci\u00f3n Laravel est\u00e9 lista para desplegarse, puedes hacerlo en los <a href=\"https:\/\/sevalla.com\/application-hosting\/\">servicios de Alojamiento de Aplicaciones<\/a> de Kinsta de forma r\u00e1pida y eficiente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las pruebas son esenciales para el desarrollo web. Laravel Model factories definen los registros de la base de datos de forma predecible y f\u00e1cilmente replicable, para &#8230;<\/p>\n","protected":false},"author":259,"featured_media":65458,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1303],"class_list":["post-65457","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>C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.\" \/>\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\/es\/blog\/laravel-model-factories\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories\" \/>\n<meta property=\"og:description\" content=\"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-05T10:18:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-17T12:59:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/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 define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Bonisteel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/\"},\"author\":{\"name\":\"Steve Bonisteel\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\"},\"headline\":\"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories\",\"datePublished\":\"2023-05-05T10:18:08+00:00\",\"dateModified\":\"2025-01-17T12:59:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/\"},\"wordCount\":1886,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/\",\"name\":\"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg\",\"datePublished\":\"2023-05-05T10:18:08+00:00\",\"dateModified\":\"2025-01-17T12:59:53+00:00\",\"description\":\"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"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\/es\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f\",\"name\":\"Steve Bonisteel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/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\/es\/blog\/author\/stevebonisteel\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories - Kinsta\u00ae","description":"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.","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\/es\/blog\/laravel-model-factories\/","og_locale":"es_ES","og_type":"article","og_title":"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories","og_description":"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.","og_url":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2023-05-05T10:18:08+00:00","article_modified_time":"2025-01-17T12:59:53+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories.jpg","type":"image\/jpeg"}],"author":"Steve Bonisteel","twitter_card":"summary_large_image","twitter_description":"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories.jpg","twitter_creator":"@Kinsta_ES","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Steve Bonisteel","Tiempo de lectura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/"},"author":{"name":"Steve Bonisteel","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f"},"headline":"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories","datePublished":"2023-05-05T10:18:08+00:00","dateModified":"2025-01-17T12:59:53+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/"},"wordCount":1886,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/","url":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/","name":"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg","datePublished":"2023-05-05T10:18:08+00:00","dateModified":"2025-01-17T12:59:53+00:00","description":"Laravel Model factories define los registros de la base de datos de una forma predecible y f\u00e1cilmente replicable. Aprende a obtener datos de comentarios sin comentarios de usuarios reales.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/05\/laravel-model-factories-7.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/laravel-model-factories\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/es\/secciones\/laravel\/"},{"@type":"ListItem","position":3,"name":"C\u00f3mo Generar y Utilizar Registros Falsos con Laravel Model Factories"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","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\/es\/#\/schema\/person\/d84ceff87bd64a4368a581fc8aa8bd6f","name":"Steve Bonisteel","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/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\/es\/blog\/author\/stevebonisteel\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/65457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/259"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=65457"}],"version-history":[{"count":11,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/65457\/revisions"}],"predecessor-version":[{"id":65588,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/65457\/revisions\/65588"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/nl"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/se"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/es"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/translations\/dk"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/65457\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/65458"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=65457"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=65457"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=65457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}