Files
AirService_potyk/database/seeders/EquipmentSeeder.php
T
2026-03-20 15:47:17 +05:00

45 lines
1.5 KiB
PHP

<?php
namespace Database\Seeders;
use App\Enums\EquipmentCondition;
use App\Enums\UserRole;
use App\Models\Equipment;
use App\Models\EquipmentCategory;
use App\Models\User;
use Illuminate\Database\Seeder;
class EquipmentSeeder extends Seeder
{
public function run(): void
{
$categories = EquipmentCategory::query()->get();
$clients = User::query()->where('role', UserRole::CLIENT)->get();
for ($i = 1; $i <= 10; $i++) {
$category = $categories->random();
$client = $clients->random();
Equipment::query()->updateOrCreate(
['inventory_number' => sprintf('INV-%04d', $i)],
[
'name' => fake()->randomElement([
'Ноутбук Dell Latitude',
'HP ProDesk',
'Cisco Router',
'Brother MFC Printer',
'Lenovo ThinkPad',
]).' '.$i,
'serial_number' => sprintf('SN-%08d', 10000000 + $i),
'category_id' => $category->id,
'client_id' => $client->id,
'purchase_date' => now()->subMonths(rand(6, 48))->toDateString(),
'warranty_until' => now()->addDays(rand(-90, 365))->toDateString(),
'condition' => fake()->randomElement(EquipmentCondition::cases())->value,
'notes' => fake()->sentence(),
]
);
}
}
}