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]); } }