subDays(rand(1, 10)); $unpublish_at = $publish_at->copy()->addDays(rand(10, 20)); foreach (BackgroundEnum::cases() as $i => $background) { SeasonalSection::factory(1)->make()->each( function (SeasonalSection $seasonalSection) use ($background, $i, $publish_at, $unpublish_at) { $seasonalSection->background = $background; $seasonalSection->published = $i === array_key_first(BackgroundEnum::cases()) ? true : false; $seasonalSection->publish_at = $publish_at->subMonths(); $seasonalSection->unpublish_at = $unpublish_at->subMonths(); $seasonalSection->picture = FileStorageHelper::storeFile( new SeasonalSection(), new \SplFileInfo( \resource_path('../database/factories/assets/seasonalsections/default-picture-362x542.png') ) ); $seasonalSection->save(); } ); } } }