"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Um guia rápido para criar fábricas e semeadores Laravel

Um guia rápido para criar fábricas e semeadores Laravel

Publicado em 2024-07-29
Navegar:406

A Quick Guide to Creating Laravel Factories and Seeders

Muitas vezes volto à documentação do Laravel sempre que preciso criar novas fábricas e semeadores para meus projetos, sejam eles exercícios de aprendizagem, projetos de hobby ou aplicativos do mundo real ( entediado fazendo as mesmas ações todas as vezes). Para facilitar esse processo, decidi criar um guia que posso consultar sempre que necessário, economizando tempo e evitando a necessidade de pesquisar extensa documentação. Se este guia ajudar alguém, seria ótimo!

Vamos supor que temos um relacionamento Usuário/Postagens, o que significa que cada usuário pode ter uma ou mais postagens, e cada postagem pertence a um usuário.
O que é uma fábrica?

A Factory no Laravel é uma classe para gerar dados de teste para sua aplicação. Isso é útil para desenvolvimento local e ambientes de teste, proporcionando muitos benefícios. O Laravel permite que você crie uma fábrica para cada modelo que você possui.
O que são semeadores?

Semeadores no Laravel são usados ​​para preencher seu banco de dados com dados usando classes de sementes, o que é especialmente útil para fins de teste.
Gerando Novas Fábricas

Para criar uma nova fábrica, execute o seguinte comando:

artesão php make:factory PostFactory

Você encontrará sua classe de fábrica no diretório database/factories. Aqui está um exemplo de definição de sua fábrica:

public function definition(): array
{
    return [
        'title' => $this->faker->sentence,
        'content' => $this->faker->paragraph,
        'user_id' => User::factory(),
    ];
}

Gerando Semeadores

Para criar um novo semeador, execute o seguinte comando:

php artesão make:seeder PostSeeder

Você encontrará a classe seeder no diretório database/seeders. Aqui está um exemplo da função run dentro desta classe:

public function run(): void
{
    Post::factory()
        ->count(20)
        ->create();
}

No mesmo diretório, você encontrará a classe DatabaseSeeder. Certifique-se de que inclui todos os seus seeders:

public function run(): void
{
    // \App\Models\User::factory(10)->create();

    // \App\Models\User::factory()->create([
    //     'name' => 'Test User',
    //     'email' => '[email protected]',
    // ]);

    $this->call([
        PostSeeder::class,
        ..,
        ..
    ]);
}

Executando migrações e propagando o banco de dados

Primeiro, execute as migrações do banco de dados:

migração de artesão php

Em seguida, propague o banco de dados:

php artesão banco de dados:seed

Agora você tem os dados de teste em vigor. Aproveitar!

Postado originalmente no meu blog!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/bn_geek/a-quick-guide-to-creating-laravel-factories-and-seeders-3o09?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3