"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Un guide rapide pour créer des usines et des seeders Laravel

Un guide rapide pour créer des usines et des seeders Laravel

Publié le 2024-07-29
Parcourir:590

A Quick Guide to Creating Laravel Factories and Seeders

Je me retrouve souvent à consulter la documentation de Laravel chaque fois que j'ai besoin de créer de nouvelles usines et de nouveaux seeders pour mes projets, qu'il s'agisse d'exercices d'apprentissage, de projets de loisirs ou d'applications du monde réel ( je m'ennuie de faire les mêmes actions à chaque fois). Pour faciliter ce processus, j'ai décidé de créer un guide auquel je peux me référer en cas de besoin, ce qui permet de gagner du temps et d'éviter d'avoir à parcourir une documentation approfondie. Si ce guide aide quelqu'un d'autre, ce serait une bonne chose !

Supposons que nous ayons une relation Utilisateur/Messages, ce qui signifie que chaque utilisateur peut avoir une ou plusieurs publications et que chaque publication appartient à un utilisateur.
Qu'est-ce qu'une usine ?

Une usine dans Laravel est une classe permettant de générer des données de test pour votre application. Ceci est utile pour le développement local et les environnements de préparation, offrant de nombreux avantages. Laravel vous permet de créer une usine pour chaque modèle dont vous disposez.
Que sont les Seeders ?

Les seeders dans Laravel sont utilisés pour remplir votre base de données avec des données à l'aide de classes seed, ce qui est particulièrement utile à des fins de test.
Générer de nouvelles usines

Pour créer une nouvelle usine, exécutez la commande suivante :

php artisan make:usine PostFactory

Vous trouverez votre classe d'usine dans le répertoire database/factories. Voici un exemple de définition de votre usine :

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

Génération de seeders

Pour créer un nouveau seeder, exécutez la commande suivante :

php artisan make:seeder PostSeeder

Vous trouverez la classe seeder dans le répertoire database/seeders. Voici un exemple de la fonction run au sein de cette classe :

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

Dans le même répertoire, vous trouverez la classe DatabaseSeeder. Assurez-vous qu'il inclut tous vos semoirs :

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,
        ..,
        ..
    ]);
}

Exécuter des migrations et amorcer la base de données

Tout d'abord, exécutez les migrations de bases de données :

php artisan migrer

Ensuite, amorcez la base de données :

base de données artisan php:seed

Vous disposez désormais de données de test. Apprécier!

Publié à l'origine sur mon blog !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/bn_geek/a-quick-guide-to-creating-laravel-factories-and-seeders-3o09?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3