2025-10-21 17:23:54 -06:00

56 lines
1.6 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\Record;
use App\Models\Vehicle;
use App\Models\User;
use App\Models\Error;
use Illuminate\Database\Seeder;
class RecordSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$vehicles = Vehicle::all();
$users = User::all();
$errors = Error::all();
$recordsWithError = 0;
$recordsWithoutError = 0;
// Crear un expediente por cada vehículo (algunos vehículos pueden tener más de uno)
foreach ($vehicles as $vehicle) {
$recordsForVehicle = rand(1, 2); // 1 o 2 expedientes por vehículo
for ($i = 0; $i < $recordsForVehicle; $i++) {
$randomUser = $users->random();
// 10% de probabilidad de tener error
$hasError = rand(1, 100) <= 10;
if ($hasError && $errors->isNotEmpty()) {
$randomError = $errors->random();
Record::factory()
->forVehicle($vehicle->id)
->forUser($randomUser->id)
->withSpecificError($randomError->id)
->create();
$recordsWithError++;
} else {
Record::factory()
->forVehicle($vehicle->id)
->forUser($randomUser->id)
->withoutError()
->create();
$recordsWithoutError++;
}
}
}
}
}