> LOADING ARTICLE...
28 Jul 2025 Tutoriais

Seeding com Faker no Laravel 8

Seeding com Faker no Laravel 8 O objetivo deste post é, mostrar de uma forma simples e rápida como fazer seeding da base de dados utilizando o Package Faker, o qual cria dados fict&iac...

Seeding com Faker no Laravel 8

Seeding com Faker no Laravel 8

O objetivo deste post é, mostrar de uma forma simples e rápida como fazer seeding da base de dados utilizando o Package Faker, o qual cria dados fictícios para facilitar os nossos teste enquanto desenvolvemos a nossa aplicação.

O Laravel disponibiliza funcionalidades unicas que nos ajudam a desenvolver de uma forma rápida, elegante e eficaz, mas para isso devemos estudar profundamente o Laravel e assim podermos aproveitar o máximo dessas funcionalidades. Pessoalmente uso as Model Factories e Faker para criar os meus dados de teste e posso confirmar a grande utilidade desta forma de trabalhar.

Aqui podemos ver a tabela “users” antes de fazermos seeding:

A versão 8 do Laravel já nos vem por defeito com o Package fakerphp/faker e pode verificar isso no seu ficheiro composer.json.

Por defeito o Laravel 8 cria para nós a classe UserFactory que podemos encontrar em database/factories que tem o seguinte código:

Cada Factory fica encadeada com um Model através do Trait HasFactory, como podemos verificar no Model User:

Podemos no entanto criar as nossas próprias factories usando o comando artisan:

php artisan make:factory PostFactory --model=Post

A flag --model=Post serve para encadear a Factory ao Model correspondente.

De seguida vamos à classe DatabaseSeeder e escrevemos o seguinte código:

Depois corremos o comando php artisan db:seed e a magia dá-se 😉

O que é que aconteceu?

Simples. O comando db:seed vai executar o método run() na classe DatabaseSeeder, que no nosso caso contém o seguinte código:
 \App\Models\User::factory()->count(10)->create();

Este códido simplesmente vai executar a UserFactory 10 vezes como demos ordem para fazer no método count(10).

Pode consultar a documentação para aprender mais sobre seeding da base de dados, pois há inúmeras possibilidades, no entanto esta que falámos neste post é a minha preferida.

About Post Author

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

> COOKIE_CONSENT_REQUIRED

We use essential cookies for the site to work, and analytics cookies (Google Analytics) to understand how you use it. Analytics cookies are only enabled with your consent. Privacy Policy