<?php namespace Database\Factories; use App\Models\ProjectSector; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; /** * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\ProjectSector> */ class ProjectSectorFactory extends Factory { /** * Define the model's default state. * * @return array<string, mixed> */ public function definition(): array { $name = $this->faker->words(3, true); return [ 'name' => ucfirst($name), 'slug' => Str::slug($name), 'description' => $this->faker->paragraph(2), 'is_published' => $this->faker->boolean(80), 'published_at' => $this->faker->optional()->dateTimeBetween('-1 year', 'now'), 'seo_title' => $this->faker->optional()->sentence(6), 'is_active' => $this->faker->boolean(50), 'seo_description' => $this->faker->optional()->sentence(15), ]; } public function configure(): ProjectSectorFactory { return $this->afterCreating(function (ProjectSector $projectSector) { // Add project cover image $projectSector->addMediaFromUrl('https://picsum.photos/1920/1080') ->toMediaCollection('project-cover'); // Add og-image $projectSector->addMediaFromUrl('https://picsum.photos/1200/630') ->toMediaCollection('project-og-image'); }); } }