Seeders

Seeders are used to fill the database with test or initial data. They are stored in the database/seeders/ directory.

Creating a Seeder

Generate a new seeder using Artisan:

php artisan make:seeder UserSeeder

This creates a file in database/seeders/UserSeeder.php.


Writing a Seeder

Edit the run method inside UserSeeder.php:

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class UserSeeder extends Seeder
{
public function run() {
DB::table('users')->insert([
'name' => 'John Doe',
'email' => 'johndoe@example.com',
'password' => bcrypt('password'),
]);
}
}

Running a Seeder

Run the specific seeder:

php artisan db:seed --class=UserSeeder

Or run php artisan db:seed if UserSeeder is called in DatabaseSeeder.php:

namespace Database\Seeders;
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void {
$us = new UserSeeder();
$us->run();
}
}