52 lines
1.7 KiB
PHP
52 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Enums\Role;
|
|
use App\Models\Flash;
|
|
use App\Models\Pole;
|
|
use App\Models\ReponseSondage;
|
|
use App\Models\Employee;
|
|
use App\Models\Site;
|
|
use App\Models\Societe;
|
|
use App\Models\Sondage;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\App;
|
|
|
|
class DatabaseSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Seed the application's database.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
Pole::factory(3)->create()->each(function (Pole $pole) {
|
|
Societe::factory(rand(2, 10))
|
|
->create(['pole_id' => $pole])->each(function (Societe $societe) use ($pole) {
|
|
Site::factory(rand(1, 10))
|
|
->create(['societe_id' => $societe])->each(function (Site $site) use ($societe) {
|
|
Flash::factory(rand(2, 10))->create(['site_id' => $site]);
|
|
User::factory(rand(1, 2))->create()->each(function (User $user) use ($site) {
|
|
$user->sites()->syncWithoutDetaching([$site->id]);
|
|
});
|
|
Sondage::factory(rand(4, 7))->create(['site_id' => $site])
|
|
->each(function (Sondage $sondage) use ($site) {
|
|
ReponseSondage::factory(rand(1, 3))->create(['sondage_id' => $sondage]);
|
|
});
|
|
Employee::factory(10)->create(['site_id' => $site]);
|
|
});
|
|
});
|
|
});
|
|
$user = new User([
|
|
'role' => Role::admin(),
|
|
'name' => 'Jérémy',
|
|
'email' => 'jeremy.munsch@ldc.fr',
|
|
'password' => 'password',
|
|
]);
|
|
$user->saveOrFAil();
|
|
$user->sites()->sync([Site::query()->firstOrFail()->id]);
|
|
}
|
|
}
|