Laravel seeders

Seeders in Laravel worden gebruikt om de database te vullen met vooraf gedefinieerde records. Dit is vooral handig tijdens de ontwikkeling van een applicatie, waar je vaak met dummy data wilt werken om de functionaliteit te testen. Seeders kunnen ook gebruikt worden om referentiedata in te voeren, zoals rollen of statustypes, die nodig zijn voor de applicatie.

Hoe Maak je Seeders?

  1. Aanmaken van een Seeder: Je kunt een nieuwe seeder aanmaken met het Artisan commando:

    php artisan make:seeder SeederNaam

    Dit commando maakt een nieuw seeder-bestand in de database/seeders directory.

  2. Structuur van een Seeder: Een seeder-bestand bevat een run() methode. Binnen deze methode definieer je de logica om records aan de database toe te voegen.
    namespace Database\Seeders;

    use Illuminate\Database\Seeder;
    class UserSeeder extends Seeder
    {
       public function run() // Logica om gebruikers toe te voegen 

    }

  3. Voorbeeld van een Seeder: Je kunt de Eloquent ORM of de query builder van Laravel gebruiken om records toe te voegen.
    namespace Database\Seeders;
    use Illuminate\Database\Seeder;
    use Illuminate\Support\Facades\DB;
    use Illuminate\Support\Facades\Hash;
    class UserSeeder extends Seeder
    {
       public function run()
       {
          DB::table('users')->insert([ 'name' => 'John Doe', 'email' => 'john.doe@example.com', 'password' => Hash::make('password'), ]);
       }
    }

  4. Uitvoeren van Seeders: Je kunt de seeder uitvoeren met het volgende Artisan commando:
    php artisan db:seed --class=SeederNaam

    Als je alle seeders wilt uitvoeren, kun je het volgende commando gebruiken: php artisan db:seed


DatabaseSeeder

Laravel bevat een standaard DatabaseSeeder klasse waarin je andere seeders kunt aanroepen. Dit is handig als je meerdere seeders hebt en je ze allemaal tegelijkertijd wilt uitvoeren.
namespace Database\Seeders; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { public function run() { $this->call([ UserSeeder::class, PostSeeder::class, // andere seeders... ]); } }

Samenvatting

Seeders in Laravel zijn een handig hulpmiddel om je database te vullen met vooraf gedefinieerde records of dummy data voor testdoeleinden. Je maakt ze aan met Artisan, vult de run() methode met logica om records toe te voegen, en voert ze uit met Artisan commando’s. Je kunt ook meerdere seeders tegelijkertijd uitvoeren door ze aan te roepen in de DatabaseSeeder klasse.

Terug naar categorie
Een ogenblik geduld...