Maison  >  Article  >  développement back-end  >  Un guide rapide pour créer des usines et des seeders Laravel

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

王林
王林original
2024-07-16 20:33:12252parcourir

A Quick Guide to Creating Laravel Factories and Seeders

Je me retrouve souvent à consulter la documentation Laravel chaque fois que j'ai besoin de créer de nouvelles usines et 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 développement, offrant de nombreux avantages. Laravel vous permet de créer une usine pour chaque modèle que vous possédez.
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 de départ, 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:factory 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érer des 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' => 'test@example.com',
    // ]);

    $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 :

php artisan db:seed

Vous disposez désormais de données de test. Profitez-en !

Publié à l'origine sur mon blog !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn