[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]
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.
[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]
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.

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]
Diego Pacheco
Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Recent Post
[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]
