public function load(ObjectManager $manager) { $index = 0; $file = fopen(__DIR__ . "/peuplerPratiquer.csv", "r"); while (true) { $line = fgetcsv($file, 0, ';'); if (empty($line) || is_null($line)) { break; } $temps = new Pratiquer(); $temps->setUtilisateur($this->getReference('utilisateur-' . $line[0]))->setSport($this->getReference('sport-' . $line[1]))->setNiveau($this->getReference('niveau-' . $line[2])); $manager->persist($temps); $this->addReference("pratiquer-" . $index, $temps); $index++; } fclose($file); $manager->flush(); }
/** * Ajoute le sport, couplé avec le niveau, le tous passés en paramètre dans la fonction * @return <i>Render</i> redirige sur fos_user_profile_show */ public function ajouterSportAction(Request $request, $idSport) { // on récupère l'utilisateur qui accède à la page $user = $this->getUser(); // On récupère le libellé du niveau choisi par l'utilsateur ('Intermédiaire, Expert, Confirmé, Débutant') $niveauChoisi = $request->get('niveau'); // on récupère le répository de Niveau $repNiveau = $this->getRepository('Niveau', 'Activite'); // on récupère le niveau $niveau = $repNiveau->findOneBy(['libelle' => $niveauChoisi]); // on récupère le répository de Pratiquer $repPratiquer = $this->getRepository('Pratiquer', 'Activite'); // on récupère le répository de Sport $repSport = $this->getRepository('Sport', 'Activite'); // on récupère le sport sélectionné par l'utilisateur $sport = $repSport->find($idSport); // on créé un nouvel objet Pratiquer que l'on hydrate $nouveauPratiquer = new Pratiquer(); $nouveauPratiquer->setUtilisateur($user)->setSport($sport)->setNiveau($niveau); $em = $this->getDoctrine()->getManager(); $em->persist($nouveauPratiquer); $em->flush(); $this->addFlash('success', "Le sport a bien été ajouté à votre compte."); return $this->redirect($this->generateUrl('fos_user_profile_show')); }