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