Utilizamos cookies para proporcionar y mejorar nuestros servicios. Al navegar por nuestro sitio, usted acepta las cookies. Política de Cookies
Estamos haciendo algo, un momento...
Estamos haciendo algo, un momento...

Seeders en Laravel: ¿Qué son y como usarlos?

Martes 24 de Enero 2023

Los seeders en Laravel son clases utilizadas para llenar la base de datos con datos ficticios o de prueba. Estos seeders se ejecutan utilizando el comando "php artisan db:seed" en la consola.

Por ejemplo, si deseas llenar tu tabla "users" con 10 usuarios de prueba, puedes crear un seeder llamado "UsersTableSeeder" y utilizar el método "factory" de Laravel para generar los registros de prueba. El código podría verse así:

Seeders en Laravel: ¿Qué son y como usarlos?

Luego, en el archivo de configuración de seeders "database/seeds/DatabaseSeeder.php" agregas la clase creada en el metodo run

Seeders en Laravel: ¿Qué son y como usarlos?

Finalmente, ejecuta el comando "php artisan db:seed" en la consola para ejecutar el seeder y llenar la tabla "users" con los registros de prueba.

También puedes utilizar el método "call" para ejecutar varios seeders a la vez en el archivo "database/seeds/DatabaseSeeder.php"

Seeders en Laravel: ¿Qué son y como usarlos?

Es importante tener en cuenta que si estás utilizando "migrations" para crear tus tablas, debes asegurarte de que las tablas hayan sido creadas antes de ejecutar los seeders. También es recomendable vaciar las tablas antes de ejecutar los seeders si ya existen datos en ellas.

Además, Laravel ofrece el método "seed" para ejecutar un solo seeder específico. Ejemplo:

Seeders en Laravel: ¿Qué son y como usarlos?

Otra opción es crear un archivo de configuración de seeders que te permitirá llenar las tablas con diferentes cantidades de datos dependiendo de la situación. Puedes crear un archivo ".env" y guardar variables como el número de usuarios que deseas crear, y luego utilizar esas variables en tu seeder para generar la cantidad correcta de registros.

En resumen, los seeders en Laravel son una herramienta útil para llenar la base de datos con datos de prueba y facilitar las pruebas automatizadas de tu aplicación.

La lógica detrás de un seeder en Laravel

La lógica detrás de un seeder en Laravel es simple: se utiliza para insertar datos de prueba en las tablas de la base de datos. Los seeders son clases que extienden de la clase base "Seeder" de Laravel y contienen un método "run" que es el que se ejecuta cuando se llama al comando "php artisan db:seed".

En general, el proceso de crear un seeder consta de los siguientes pasos:

  • Crear una nueva clase que extienda de la clase "Seeder"
  • Utilizar los métodos "factory" o "create" de Laravel para generar los registros de prueba
  • Especificar en el archivo "database/seeds/DatabaseSeeder.php" cuales son las clases que se van a ejecutar.

Por ejemplo, si queremos crear un seeder para llenar la tabla "users" con 10 usuarios de prueba, podemos crear una clase llamada "UsersTableSeeder" y utilizar el método "factory" para generar los registros. El código podría verse así:

Seeders en Laravel: ¿Qué son y como usarlos?

En este caso, el método "factory" está creando 10 instancias del modelo "User" y guardando los datos en la tabla "users" de la base de datos. Los datos se pueden generar aleatoriamente o especificar unos específicos.

En resumen, la lógica detrás de un seeder en Laravel es insertar datos de prueba en las tablas de la base de datos mediante la creación de una clase específica que extienda de la clase "Seeder" de Laravel, utilizando los métodos "factory" o "create" para generar los registros y especificando en el archivo "database/seeds/DatabaseSeeder.php" cuales son las clases que se van a ejecutar.

¡Comentarios de la comunidad!

Para poder comentar necesita ingresar a su cuenta, si no tienes una cuenta puede crear una