em = $em; } /** * @param \App\Entity\Film $film * @return \App\Entity\Film */ public function assureUniciteCollections(\App\Entity\Film $film) { $film = $this->checkRealisateurs($film); $film = $this->checkGenres($film); return $film; } /** * @param \App\Entity\Film $film * @return \App\Entity\Film */ protected function checkRealisateurs(\App\Entity\Film $film) { $realisateurs = $film->getRealisateurs(); foreach ($realisateurs as $realisateur) { if ($realisateur->getId() == null) { $recherche = $this->em->getRepository('App:Realisateur')->findOneBy(array('nomComplet'=>$realisateur->getNomComplet())); if ($recherche != null) { $film->removeRealisateur($realisateur); $film->addRealisateur($recherche); } } } return $film; } /** * @param \App\Entity\Film $film * @return \App\Entity\Film */ protected function checkGenres(\App\Entity\Film $film) { $genres = $film->getGenres(); foreach ($genres as $genre) { if ($genre->getId() == null) { $recherche = $this->em->getRepository('App:Genre')->findOneBy(array('name'=>$genre->getName())); if ($recherche != null) { $film->removeGenre($genre); $film->addGenre($recherche); } } } return $film; } }