Introducción

Laravel incluye un método sencillo para alimentar tu base de datos con datos de prueba usando clases Seeder. Todas las clases Seeder son almacenadas en el directorio database/seeds. Las clases Seeder pueden tener cualquier nombre que desees, pero deberías seguir probablemente alguna convención razonable, tales como UsersTableSeeder etc. De forma predeterminada, una clase DatabaseSeeder se define para tí. A partir de esta clase, puedes usar el método call para registrar otras clases seeder, permitiendo que controles el orden en que se ejecutan.

Escribiendo seeders

Para generar un seeder, ejecuta el Comando Artisan make:seeder. Todos los seeders generados por el framework seran colocados en el directorio database/seeds:

Una clase seeder contiene solamente un método de forma predeterminada: run. Este método es ejecutado cuando el Comando Artisan db:seed se ejecuta. Dentro del método run, puedes insertar datos en tu base de datos en la forma que desees. Puedes usar el constructor de consultas para insertar datos manualmente o puedes usar los Model Factories de Eloquent.

La protección de asignación en masa es deshabilitada automáticamente durante el seeding de la base de datos.

Como un ejemplo, vamos a modificar la clase DatabaseSeeder predeterminada y agregar una instrucción insert al método run:

Puede escribir cualquier dependencia que necesite dentro de la firma del método run. Se resolverán automáticamente a través del contenedor de servicio de Laravel.

Regístrate en Styde

Para obtener acceso a ésta y a todas nuestras lecciones y cursos premium:

Ver planes

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Base de datos: Migraciones - Documentación de Laravel 6 Lección siguiente Redis - Documentación de Laravel 6