Generación de datos con fábricas de modelos

Generación de datos

Laravel 9: Generación de datos de bases de datos ficticias utilizando fábricas de modelos

Generación de datos — Por lo general, la forma de llenar una tabla de base de datos es configurar un formulario o algún otro mecanismo. Si necesita generar datos ficticios para probar su interfaz Laravel, Laravel Model Factories puede ser útil.


Suposiciones:

Este tutorial asume que tiene PHP y Composer instalados en su computadora. También utiliza las instalaciones de Apache y MySQL de XAMPP. Por lo tanto, se supone que el lector está familiarizado con XAMPP. Visite los sitios web de Composer y XAMPP para descargarlos.

De los casos:

Tenemos una tabla de “estudiantes” en una base de datos MySQL llamada “dummy-data”. Deseamos interactuar con esta tabla utilizando un modelo de “Estudiantes” de nuestra aplicación Laravel. Cada estudiante tiene una identificación, nombre, edad, correo electrónico y dirección.

Así es como llena una base de datos MySQL con datos ficticios:

1. Crea un nuevo proyecto de Laravel con composer

composer create-project laravel/laravel dummy-data

2. Cree la base de datos correspondiente en phpMyAdmin

Generación de datos

3. Agregue el nuevo nombre de la base de datos a su archivo .env

Generación de datos

4. Cree un modelo, un controlador y una fábrica para los estudiantes

Navegue a su carpeta de dummy-data usando el comando cd dummy-data y ejecute la siguiente línea en su consola

php artisan make:model Student -cfm

Debería obtener una salida similar a esta:

Generación de datos

5. Edite el archivo de migración database/migrations/create_students_table.php 

Agregue atributos de datos de estudiantes al archivo de migración. Aquí hay una instantánea del contenido del archivo después de las ediciones.

Generación de datos

6. Edite el archivo database/factories/StudentFactory.php.

Agregue use Illuminate\Support\Str;use App\Models\Student; al archivo StudentFactory.php; luego agregue los atributos de los estudiantes al método definition() así:

Generación de datos

7. Edite el archivo database/seeders/DatabaseSeeder.php 

Agregue lo siguiente al archivo “DatabaseSeeder.php” y reemplace el número “15” con el número de filas que desea generar en su tabla de “estudiantes”

\App\Models\Student::factory(15)->create();

Así es como se vería su archivo “DatabaseSeeder.php” después de la edición.

8. Ejecute lo siguiente en su línea de comando

php artisan migrate --seed

Su salida debería ser algo como esto:

9. ¡¡Voila!! Su tabla de “estudiantes” está poblada.

Recent Post