📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Laravel Framework Seeders and Factories

Seeders and Factories

5 min read
Generate realistic test data with model factories and Faker for seeding development databases.

Seeders and Factories

// Factory
class UserFactory extends Factory {
    public function definition(): array {
        return [
            "name"     => fake()->name(),
            "email"    => fake()->unique()->safeEmail(),
            "password" => bcrypt("password"),
        ];
    }

    public function admin(): static {
        return $this->state(["role" => "admin"]);
    }
}

// Seeder
class DatabaseSeeder extends Seeder {
    public function run(): void {
        User::factory(10)->create();
        User::factory()->admin()->create(["email" => "admin@example.com"]);
        Post::factory(50)->recycle(User::all())->create();
    }
}

php artisan db:seed
php artisan db:seed --class=UserSeeder