Ich kehre oft zur Laravel-Dokumentation zurück, wenn ich neue Fabriken und Seeder für meine Projekte erstellen muss, egal ob es sich um Lernübungen, Hobbyprojekte oder reale Anwendungen handelt ( gelangweilt, jedes Mal die gleichen Aktionen auszuführen). Um diesen Prozess zu vereinfachen, habe ich beschlossen, einen Leitfaden zu erstellen, auf den ich bei Bedarf zurückgreifen kann. Das spart Zeit und erspart mir das Durchsuchen umfangreicher Dokumentationen. Wenn dieser Leitfaden jemand anderem hilft, wäre das eine tolle Sache!
Nehmen wir an, wir haben eine Benutzer/Beiträge-Beziehung, was bedeutet, dass jeder Benutzer einen oder mehrere Beiträge haben kann und jeder Beitrag einem Benutzer gehört.
Was ist eine Fabrik?
Eine Factory in Laravel ist eine Klasse zum Generieren von Testdaten für Ihre Anwendung. Dies ist für lokale Entwicklungs- und Staging-Umgebungen nützlich und bietet viele Vorteile. Mit Laravel können Sie für jedes Modell, das Sie haben, eine Fabrik erstellen.
Was sind Seeder?
Seeder in Laravel werden verwendet, um Ihre Datenbank mithilfe von Seed-Klassen mit Daten zu füllen, was besonders für Testzwecke nützlich ist.
Schaffung neuer Fabriken
Um eine neue Fabrik zu erstellen, führen Sie den folgenden Befehl aus:
php artisan make:factory PostFactory
Sie finden Ihre Factory-Klasse im Verzeichnis „database/factories“. Hier ist ein Beispiel für die Definition Ihrer Fabrik:
public function definition(): array { return [ 'title' => $this->faker->sentence, 'content' => $this->faker->paragraph, 'user_id' => User::factory(), ]; }
Seeder generieren
Um einen neuen Seeder zu erstellen, führen Sie den folgenden Befehl aus:
php artisan make:seeder PostSeeder
Sie finden die Seeder-Klasse im Verzeichnis „database/seeders“. Hier ist ein Beispiel für die Ausführungsfunktion innerhalb dieser Klasse:
public function run(): void { Post::factory() ->count(20) ->create(); }
Im selben Verzeichnis finden Sie die DatabaseSeeder-Klasse. Stellen Sie sicher, dass alle Ihre Sämaschinen enthalten sind:
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, .., .. ]); }
Migrationen ausführen und die Datenbank bereitstellen
Führen Sie zunächst die Datenbankmigrationen aus:
php artisan migrate
Anschließend Seeding der Datenbank:
php artisan db:seed
Jetzt liegen Ihnen Testdaten vor. Genießen!
Ursprünglich auf meinem Blog gepostet!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3