*/ class ImageFactory extends Factory { /** * Configure the model factory. */ public function configure(): static { return $this->afterCreating(function (Image $image) { if($image->album->images->sortBy('id')->first()->id == $image->id) { $image->isCover = true; $image->save(); } $height = rand(2000, 4000); $width = rand(2000, 4000); $image_content = Http::get("https://picsum.photos/{$width}/{$height}")->body(); Storage::disk('images')->put($image->album->id . '/original/' . $image->id, $image_content); }); } /** * Define the model's default state. * * @return array */ public function definition(): array { return [ 'album_id' => Album::all()->random(1)->first()->id, 'isCover' => false, ]; } }