Skip to main content
Quick Tip

Create Fake Avatar in User Factory

You can create extra methods in your Factory classes. Example: while creating a fake user within UserFactory, you can also add withAvatar() that you would call from the Seeder.

// database/seeders/DatabaseSeeder.php:
User::factory()
->count(10)
->withAvatar() // <-- THIS
->create();
 
// ======================================
 
// database/factories/UserFactory.php:
use Illuminate\Support\Facades\Storage;
 
class UserFactory extends Factory
{
public function withAvatar(): Factory|UserFactory
{
return $this->afterCreating(function (User $user) {
$url = "https://ui-avatars.com/api/?name=" . $user->name;
$contents = Http::get($url)->body();
$name = Str::random(10) . '.png';
Storage::disk('public')->put($name, $contents);
$user->update(['avatar' => $name]);
});
}

Enjoyed This Tip?

Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.

Recent Courses on Laravel Daily

[NEW] Practical Laravel Security: Packages, Secrets, Supply-Chain Attacks

7 lessons
43 min read

Testing in Laravel 13 For Beginners

26 lessons
1 h 41 min read

Queues in Laravel 13

18 lessons
1 h 12 min read