store/database/seeders/ProductPriceSeeder.php

29 lines
798 B
PHP

<?php
namespace Database\Seeders;
use App\Enums\PriceType;
use App\Models\ProductPrice;
use App\Models\ProductVariant;
use Illuminate\Database\Seeder;
class ProductPriceSeeder extends Seeder
{
public function run(): void
{
ProductVariant::query()
->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),
]);
}
});
}
}