em = $em; $this->repoFilm = $repoFilm; } /** * @param string $query * @return \App\Entity\Film[] */ public function search($query) { return \array_merge( $this->searchByFilm($query), $this->searchByRealisateur($query), $this->searchByGenre($query) ); } /** * @param $query * @return array */ protected function searchByFilm($query) { $q = $this->em ->createQuery('SELECT f from App:Film f WHERE f.titre like :titre') ->setParameter('titre', '%'.$query.'%') ->getResult(); return $q; } /** * @param $query * @return array */ protected function searchByRealisateur($query) { return $this->repoFilm->findFilmWithRealLike($query); } /** * @param $query * @return array */ protected function searchByGenre($query) { return $this->repoFilm->findFilmWithGenreLike($query); } }