2014-06-18 39 views
0

我已經在我的網頁搜索欄和動作我負責找用戶搜索就是這樣的:主義和查詢功能的Symfony2

public function searchAction(Request $request){ 

     $em = $this->container->get('doctrine')->getEntityManager(); 

     $evenements= $em->getRepository('Mql14mqlmeBundle:Evenement')->findAll(); 
     if ('POST' === $request->getMethod()) { 

      $search = $request->get('search'); 
    $query = $this->container->get('doctrine')->getEntityManager()->createQuery('SELECT e FROM Mql14mqlmeBundle:Evenement e WHERE e.nom LIKE :search') 
      ->setParameter('search', $search); 
     $resultats = $query->getResult(); 



     return $this->container->get('templating')->renderResponse('Mql14mqlmeBundle:Event:search.html.twig', array(
      'resultats'=>$resultats, 

     )); 

     } 
    return $this->listerAction(); 
     } 

它的工作,如果用戶把確切名稱

$query = $this->container->get('doctrine')->getEntityManager()->createQuery('SELECT e FROM Mql14mqlmeBundle:Evenement e WHERE e.nom LIKE :%search%') 
       ->setParameter('search', $search); 

但我發現了這個錯誤:無效參數:格式數據庫中的某些事件,但我想使搜索可能的,即使這僅僅是名稱的一部分,我在查詢嘗試這個,:給定,但是:name或?num expected。

回答

1

嘗試改變參數如下:

$query = $this 
    ->container 
    ->get('doctrine') 
    ->getEntityManager() 
    ->createQuery(
     'SELECT e FROM Mql14mqlmeBundle:Evenement e WHERE e.nom LIKE :search' 
    ) 
    ->setParameter('search', '%'.$search.'%'); 
+0

我得到了同樣的錯誤 – higheagle

+0

我編輯我的答案。再試一次 – dmnptr

+0

這次我沒有收到錯誤,但我沒有收到任何結果只是一個空白頁 – higheagle