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
3. Agregue el nuevo nombre de la base de datos a su archivo .env
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:
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.
6. Edite el archivo database/factories/StudentFactory.php
.
Agregue use Illuminate\Support\Str;
y use App\Models\Student;
al archivo StudentFactory.php
; luego agregue los atributos de los estudiantes al método definition() así:
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.