Beginner LevelLaravel
How do Database Seeders and Model Factories generate test data in Laravel?
❓ Interview Prompt: Explain Model Factories (php artisan make:factory), Faker library, DatabaseSeeder class, and populating tables.
Model Factories and Seeders populate database tables with fake development or testing data:
1. Model Factories:
Uses the Faker library to define realistic fake data generation rules for a model ('fake()->name()', 'fake()->unique()->safeEmail()').
2. Database Seeders ('DatabaseSeeder.php'):
Executes factories to populate databases: 'User::factory()->count(50)->create();'. Run via 'php artisan db:seed'.
Code Implementation Example
php
<?php
namespace DatabaseFactories;
use IlluminateDatabaseEloquentFactoriesFactory;
class UserFactory extends Factory
{
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi',
];
}
}💡Model Factory definition leveraging Faker data generation.
🎯 Interview Key Takeaway
Use Model Factories and Seeders to quickly populate local and staging databases with realistic dummy data.
#Factories#Seeders#Faker#Testing#Beginner
Back to all Laravel Questions→