46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
<?php
|
|
namespace Tests\Extension\Seeds;
|
|
|
|
use Tests\Extension\AbstractSeed;
|
|
|
|
class BrokerContracts extends AbstractSeed
|
|
{
|
|
public function getDependencies(): array
|
|
{
|
|
return [
|
|
Brokers::class,
|
|
Proyectos::class,
|
|
];
|
|
}
|
|
|
|
public function run(): void
|
|
{
|
|
$brokers = $this->loadValues('brokers', columns: 'rut');
|
|
$projects = $this->loadValues('proyecto', columns: 'id');
|
|
|
|
$data = [];
|
|
foreach ($projects as $project) {
|
|
$count = $this->faker->numberBetween(1, count($brokers));
|
|
for ($i = 0; $i < $count; $i++) {
|
|
$data []= [
|
|
'broker_rut' => $brokers[$i],
|
|
'project_id' => $project,
|
|
'commission' => $this->faker->randomFloat(4, 0, 1),
|
|
];
|
|
}
|
|
}
|
|
$this->table('broker_contracts')->insertValues($data)->save();
|
|
|
|
$contracts = $this->loadValues('broker_contracts', columns: 'id');
|
|
$stateData = [];
|
|
foreach ($contracts as $contract) {
|
|
$stateData[]= [
|
|
'contract_id' => $contract,
|
|
'date' => $this->faker->dateTimeBetween('-1 year'),
|
|
'type' => 1
|
|
];
|
|
}
|
|
$this->table('broker_contract_states')->insertValues($stateData)->save();
|
|
}
|
|
}
|