56 lines
1.6 KiB
PHP
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++;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|