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

王林
Libérer: 2024-07-16 20:33:12
original
247 Les gens l'ont consulté

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(),
    ];
}
Copier après la connexion

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();
}
Copier après la connexion

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,
        ..,
        ..
    ]);
}
Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!