Example #1
0
 /**
  * Recherche avancée
  *
  * @ApiDoc(
  *   resource = true,
  *   description = "Recherche avancée",
  *   statusCodes = {
  *     200 = "Returned when successful",
  *     404 = "Returned when the data is not found"
  *   }
  * )
  * @Route("/api/search/advancedSearch",name="nicetruc_advanced", options={"expose"=true})
  * @Rest\View()
  * @Method({"POST"})
  */
 public function searchAdvancedAction(Request $request)
 {
     $elasticManager = $this->get('fos_elastica.manager');
     $advancedSearch = new AdvancedSearch();
     $advancedSearch->handleRequest($request);
     $voitures = $elasticManager->getRepository('AppBundle:Voiture')->searchAdvanced($advancedSearch);
     $view = View::create();
     if ($voitures) {
         $data = array('data' => array('voitures' => $voitures));
         $view->setData($data)->setStatusCode(200);
     } else {
         $view->setData(null)->setStatusCode(404);
     }
     return $view;
 }