Laravel 9 Factory com exemplo

Laravel 9 Factory com exemplo

“Hoje, vamos aprender sobre o Laravel 9 fábricas e semeador com um exemplo. Antes de iniciar este projeto, precisamos saber por que precisamos de fábricas? Quando precisamos adicionar vários dados falsos ou dados fictícios ao nosso projeto Laravel para fins de teste, então usamos fábricas. Agora, daremos um exemplo de projeto que mostra como gerar dados falsos para o nosso projeto.”

Os requisitos do projeto são fornecidos abaixo

  1. MySQL 5.6+
  2. Mariadb 10.2+
  3. PostgreSQL 9.4+
  4. Sqlite 3.8.3+
  5. SQL Server 2008+
  6. Php 8.1

Processo de trabalho do projeto

  1. Etapa 1 - Instalando o Laravel 9
  2. Etapa 2 -Criando um banco de dados e conectando o banco de dados ao projeto
  3. Etapa 3- Crie um modelo para o projeto
  4. Etapa 4- Gere dados fictícios para o projeto
  5. Etapa 5- Finalmente, execute e teste o projeto

Etapa 1 - Instalando o Laravel 9

Na etapa um, precisamos entrar no diretório do projeto e executar o comando abaixo-

Compositor Criar-Projeto Laravel/Laravel Factory
CD Factory
PHP Artisan Service

Etapa 2 - Criando um banco de dados e conectando o banco de dados ao projeto

Na etapa dois, precisamos criar um banco de dados em nosso phpmyadmin; Para este projeto de fábrica, usaremos o Mariadb /MySQL 5.7. Agora, precisamos copiar o link abaixo e colá -lo em nosso navegador e clique no botão home no lado esquerdo. Em seguida, clique nos bancos de dados lá, encontraremos a área de banco de dados Criar. Então precisamos colocar nosso nome de banco de dados lá. Usaremos "fábrica" ​​como nome de banco de dados.

localhost/phpmyadmin

Agora vamos conectar o banco de dados ao nosso projeto-

Vou ao .Env arquivo e configure o banco de dados

Db_connection = mysql
Db_host = 127.0.0.1
Db_port = 3306
Db_database = fábrica (nome do seu banco de dados)
Db_username = root (seu nome de usuário de banco de dados)
Db_password = (sua senha de banco de dados)

Nossa conexão de banco de dados feita

Etapa 3- Crie um modelo para o projeto

Na etapa três, criaremos uma tabela chamada Tabela Dummy_Data com migração usando este elogio

PHP Artisan Make: Model dtaxt -m


Uma vez que o modelo criado precisa abrir

“Banco de dados \ migrações \ 2022_06_28_074351_create_dtaxts_table.php ”


Agora adicione essas duas linhas lá

$ tabela-> string ('nome')-> nullable ();
$ tabela-> string ('detalhes')-> nullable ();

Aqui está o código

Use Illuminate \ Database \ Migrations \ Migration; Use Illuminate \ Database \ Schema \ Blueprint;
use iluminado \ support \ fachades \ schema;
Retornar nova classe estende a migração

/**
* Execute as migrações.
*
* @return void
*/
função pública up ()

Schema :: Create ('dtaxts', function (Blueprint $ tabela)
$ tabela-> id ();
$ tabela-> string ('nome')-> nullable ();
$ tabela-> string ('detalhes')-> nullable ();
$ tabela-> timestamps ();
);

/**
* Reverter as migrações.
*
* @return void
*/
função pública para baixo ()

Schema :: Dropifexists ('DTAxts');

;

Agora, preciso abrir o banco de dados \ fábricas \ dtaxtFactory.phpand adicionar o código fluido

$ preenchável protegido = [
'nome',
'detalhes'
];
Aqui está o código do arquivo
namespace app \ modelos;
Use Illuminate \ Database \ Eloquent \ Factories \ Hasfactory;
Use iluminado \ Database \ Eloquent \ Model;
Classe Dummy_Data estende o modelo

use hasfactory;
$ preenchável protegido = [
'nome',
'detalhes'
];

Agora preciso correr

PHP Artisan migra

Etapa 4- Gere dados fictícios para o projeto

Agora, preciso criar uma fábrica para o nosso projeto com esta linha de comando-

PHP Artisan Make: FactoryDtaxtFactory -Model = DTAxt

Agora, vá para Factory \ Factory \ Database \ Factories \ DtaxtFactory.php

Adicione esta linha

'nome' => $ this-> faker-> nome (),
'Detalhes' => $ this-> faker-> text (),

Aqui está o código

Namespace Database \ Factories;
Use Illuminate \ Database \ Eloquent \ Factories \ Factory;
/**
* @Extends \ Illuminate \ Database \ Eloquent \ Factories \ Factory
*/
DummyFactory de classe estende fábrica

/**
* Defina o estado padrão do modelo.
*
* Array @return
*/
definição de função pública ()

retornar [
'nome' => $ this-> faker-> nome (),
'Detalhes' => $ this-> faker-> text (),
];

Etapa 5- Finalmente, execute e teste o projeto

Na etapa cinco, nosso projeto está quase pronto; agora preciso executar

Antes de dar qualquer elogio, precisamos executar isso

  • compositor Dumpautoload

então corra

  • PHP Artisan Tinker

então digite

>> dtaxt :: factory ()-> count (10)-> create ();

Resultado -

PS C: \ Usuários \ User \ Documents \ Github \ -Laravel-Factory-Exemplo> PHP Artisan Tinker
PSY Shell v0.11.5 (Php 8.1.3 - CLI) de Justin Hileman
>>> dtaxt :: factory ()-> count (10)-> create ();
=> Illuminate \ Database \ Eloquent \ Collection #3570

todos: [
App \ Models \ dtaxt #3574
Nome: "Sra. Lura Hirthe ",
Detalhes: "DeseruntsintrepellendusOfficiisfacere. Nihil sed officia ab id. Dolores Quia Erro VoluptAtibusSteque.",
atualizado_at: "2022-07-04 12:47:02",
Criado_at: "2022-07-04 12:47:02",
ID: 31,
,
App \ Models \ dtaxt #3572
Nome: "Dulce Rogahn",
Detalhes: "ID Voluptas ipsum aliquiidsequi ab. Autistecumque qui aliquidomnisincidunt. Qui et Autem mínimos veritatis. Corporis magniquis error de automóvel.",
atualizado_at: "2022-07-04 12:47:03",
Criado_at: "2022-07-04 12:47:03",
ID: 32,
,
App \ Models \ dtaxt #3575
Nome: "Sr. Morris Bahringer ",
Detalhes: "Qui Eum Qui Unde Nemo. Ad aliquamquiutquiacumque.",
atualizado_at: "2022-07-04 12:47:03",
Criado_at: "2022-07-04 12:47:03",
ID: 33,
,
App \ Models \ dtaxt #3576
Nome: "Francisco Bechtelar",
Detalhes: "Sapiente Rem et earum et. Assumo id natuseateneturpossimus sed. AUTLABORUMASPERNATUROPTIOCOSEQUENTUR.",
atualizado_at: "2022-07-04 12:47:03",
Criado_at: "2022-07-04 12:47:03",
ID: 34,
,
App \ Models \ dtaxt #3577
Nome: "Sadye Turcotte",
Detalhes: "Excetouri in sit sed nullaVoluptatemnessitatibus nobis omnis. Sint AUTEM Dignissimos -apresentariadipisci Hic Sint. Sed eiusdebitis nihil quaeatexplicabopariatur.",
atualizado_at: "2022-07-04 12:47:03",
Criado_at: "2022-07-04 12:47:03",
ID: 35,
,
Criado_at: "2022-07-04 12:47:03",
ID: 39,
, App \ modelos \ dtaxt #3582
Nome: "Celestino Stroesin",
Detalhes: "Exceto Nihil Nostrum Cumque facilis AUTEM SUSCIPIT. Nam Enimquamducimuscorrupti Culpa Magni. OFFICIIS SIT QUIARAÇÃO SIT SIT VOLUPTAS.",
atualizado_at: "2022-07-04 12:47:03",
Criado_at: "2022-07-04 12:47:03",
ID: 40,
,
],

>>>

Conclusão

Finalmente, nosso projeto foi concluído com sucesso. Espero que este projeto de fábrica ajude o aluno a entender a fábrica do Laravel 9. Usando este projeto, você pode criar e importar dados fictícios para o seu projeto.