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
AI Agents/IDEs for Laravel: May 2026 (Claude Code, Codex, OpenCode, etc)
7 lessons
52 min
Testing in Laravel 13 For Beginners
26 lessons
1 h 41 min read
How to Build Laravel 13 API From Scratch
30 lessons
1 h 23 min