“Hoy, vamos a aprender sobre las fábricas y sembradoras de Laravel 9 con un ejemplo. Antes de comenzar este proyecto, necesitamos saber por qué necesitamos fábricas? Cuando necesitamos agregar una serie de datos falsos o datos ficticios a nuestro proyecto Laravel para fines de prueba, usamos fábricas. Ahora daremos un proyecto de ejemplo que le muestra cómo generar datos falsos para nuestro proyecto."
Los requisitos del proyecto se dan a continuación
- Mysql 5.6+
- Mariadb 10.2+
- PostgreSQL 9.4+
- Sqlite 3.8.3+
- SQL Server 2008+
- Php 8.1
Proceso de trabajo del proyecto
- Paso 1 - Instalación de Laravel 9
- Paso 2 -Cear una base de datos y conectar la base de datos con el proyecto
- Paso 3- Crea un modelo para el proyecto
- Paso 4: genere datos ficticios para el proyecto
- Paso 5- Finalmente, ejecute y pruebe el proyecto
Paso 1 - Instalación de Laravel 9
En el primer paso, debemos ingresar al directorio del proyecto y ejecutar el comando que se proporciona a continuación-
compositor create-proyect Laravel/Laravel Factory
fábrica de CD
Php Artisan Servir
Paso 2: crear una base de datos y conectar la base de datos con el proyecto
En el paso dos, necesitamos crear una base de datos en nuestro PhPMyAdmin; Para este proyecto de fábrica, usaremos mariadb /mysql 5.7. Ahora, necesitamos copiar el siguiente enlace y pegarlo en nuestro navegador, luego hacer clic en el botón de inicio en el lado izquierdo. Luego haga clic en las bases de datos allí encontraremos el área de la base de datos Crear. Entonces necesitamos poner el nombre de nuestra base de datos allí. Usaremos "fábrica" como nombre de base de datos.
localhost/phpmyadmin
Ahora conectaremos la base de datos con nuestro proyecto-
Ve a la .archivo env y configurar la base de datos
Db_connection = mysql
Db_host = 127.0.0.1
Db_port = 3306
Db_database = fábrica (nombre de su base de datos)
Db_username = root (nombre de usuario de su base de datos)
Db_password = (contraseña de su base de datos)
Nuestra conexión de base de datos hecha
Paso 3- Crea un modelo para el proyecto
En el paso tres, crearemos una tabla llamada Tabla Dummy_Data con migración usando este recomendación
Php Artisan Make: Modelo Dtaxt -M
Una vez que el modelo creado, debe abrir
"Base de datos \ Migrations \ 2022_06_28_074351_create_dtaxts_table.PHP "
Ahora agregue estas dos líneas allí
$ table-> string ('name')-> nullable ();
$ table-> String ('Detalles')-> Nullable ();
Aquí está el código
Use Illuminate \ Database \ Migrations \ Migration; use Illuminate \ Database \ Schema \ BluePrint;
use iluminate \ support \ facades \ Schema;
devolver la nueva clase extiende la migración
/**
* Ejecutar las migraciones.
*
* @return void
*/
función pública up ()
Schema :: Create ('Dtaxts', function (BluePrint $ Table)
$ table-> id ();
$ table-> string ('name')-> nullable ();
$ table-> String ('Detalles')-> Nullable ();
$ table-> timestamps ();
);
/**
* Invertir las migraciones.
*
* @return void
*/
Función pública Down ()
Schema :: Dropifexists ('dtaxts');
;
Ahora, necesito abrir la base de datos \ fábricas \ dtaxtFactory.phpand agregue el código de flujo
protegido $ Fillable = [
'nombre',
'detalles'
];
Aquí está el código de archivo
Aplicación de espacio de nombres \ modelos;
use Illuminate \ Database \ Eloquent \ Factories \ HasFactory;
use Illuminate \ Database \ ELOQUENT \ Model;
clase dummy_data extiende el modelo
uso Hasfactory;
protegido $ Fillable = [
'nombre',
'detalles'
];
Ahora necesito correr
PHP Artisan Migrate
Paso 4: genere datos ficticios para el proyecto
Ahora, necesito crear una fábrica para nuestro proyecto con esta línea de comandos-
Php Artisan Make: FactoryDtaxtFactory - -Model = Dtaxt
Ahora, ve a fábrica \ fábrica \ database \ fábrica \ dtaxtFactory.php
Agrega esta línea
'nombre' => $ this-> faker-> name (),
'Detalles' => $ this-> faker-> text (),
Aquí está el código
Base de datos de espacio de nombres \ fábricas;
use Illuminate \ Database \ ELOQUENT \ Factories \ Factory;
/**
* @extends \ iluminate \ database \ eloquent \ fábrica \ fábrica
*/
clase DummyFactory extiende la fábrica
/**
* Defina el estado predeterminado del modelo.
*
* @@return array
*/
Definición de función pública ()
devolver [
'nombre' => $ this-> faker-> name (),
'Detalles' => $ this-> faker-> text (),
];
Paso 5- Finalmente, ejecute y pruebe el proyecto
En el paso cinco, nuestro proyecto está casi listo; ahora necesito realizar
Antes de dar un recomendación, necesitamos ejecutar este
entonces corre
Entonces escribe
>> dtaxt :: factory ()-> count (10)-> create ();
Resultado -
PS C: \ Users \ User \ Documents \ Github \ -laravel-Factory-Example> Php Artisan Tinker
Psy Shell v0.11.5 (Php 8.1.3 - cli) por Justin Hileman
>>> dtaxt :: factory ()-> count (10)-> create ();
=> Illuminate \ Database \ Eloquent \ Collection #3570
todo: [
App \ Models \ Dtaxt #3574
Nombre: "Sra. Lura hirthe ",
Detalles: "DeseruntsintrepellendusOfficiisfacere. Nihil sed oficios ab id. Dolores Quia Error VoluptatibusSequi.",
actualizado_at: "2022-07-04 12:47:02",
creado_at: "2022-07-04 12:47:02",
ID: 31,
,
App \ Models \ Dtaxt #3572
Nombre: "Dulce Rogahn",
Detalles: "ID Volupta Ipsum Aliquidsequi AB. Autistecumque qui aliquidomnisincidunt. Qui et autem mina veritatis. Corporis Magniquis Error Aut Labore Rerum.",
actualizado_at: "2022-07-04 12:47:03",
creado_at: "2022-07-04 12:47:03",
ID: 32,
,
App \ Models \ Dtaxt #3575
Nombre: "Sr. Morris Bahringer ",
Detalles: "Qui eum qui unde nemo. Ad aliquamquiautquiacumque.",
actualizado_at: "2022-07-04 12:47:03",
creado_at: "2022-07-04 12:47:03",
ID: 33,
,
App \ Models \ Dtaxt #3576
Nombre: "Francisco Bechtelar",
Detalles: "Sapiente Rem et Earum et. ID de asumenda natuseateneturpossimus sed. Autlaborumaspernaturoptioconsequuntur.",
actualizado_at: "2022-07-04 12:47:03",
creado_at: "2022-07-04 12:47:03",
ID: 34,
,
App \ Models \ Dtaxt #3577
Nombre: "Sadye Turcotte",
Detalles: "Excepto en Sit Sed nullavoluptatemnecessitatibus nobis omnis. SINT AUTEM DIGNISMOSPRAESENTIUMAdipisci HIC SINT. Sed eiusdebitis nihil quaererexplicabopariatur.",
actualizado_at: "2022-07-04 12:47:03",
creado_at: "2022-07-04 12:47:03",
ID: 35,
,
creado_at: "2022-07-04 12:47:03",
ID: 39,
, App \ Models \ Dtaxt #3582
Nombre: "Celestino Strosin",
Detalles: "Excepturi nihil nostrum cumque facilis autem Suscipit. Nam enimquamducimuscorrupti culpa magni. Officiis sit quiarationeenim sentarse voluptados.",
actualizado_at: "2022-07-04 12:47:03",
creado_at: "2022-07-04 12:47:03",
ID: 40,
,
],
>>>
Conclusión
Finalmente, nuestro proyecto se completó con éxito. Espero que este proyecto de fábrica ayude al alumno a comprender la fábrica de Laravel 9. Usando este proyecto, puede crear e importar datos ficticios a su proyecto.