whereDoesntHave('prices') ->each(function (ProductVariant $variant): void { $basePrice = fake()->numberBetween(50_000, 250_000); foreach (PriceType::cases() as $type) { ProductPrice::factory()->create([ 'variant_id' => $variant->id, 'type' => $type->value, 'price' => $basePrice + fake()->numberBetween(0, 50_000), ]); } }); } }