簡體   English   中英

主義和喜歡查詢symfony2

[英]Doctrine and Like query 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是預期的。

嘗試像這樣更改參數:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM