2011-09-16 50 views
0

我在這裏錯了什麼?帶LIKE和參數錯誤的Doctrine dbl

return $em->createQuery(" 
    SELECT p FROM SomeBundle:Page p 
    WHERE p.title LIKE '%?1%'") 
    ->setParameters(array($q)) 

給了我一個

非法參數編號:令牌

似乎是因爲該參數是在引號中的綁定變量的數量不符的數字,但沒有,它也不起作用...

關於學說2.1

回答

5

當然,它將它解釋爲一個帶有?1的字符串。 爲什麼不把值包裝到'%'中?

return $em->createQuery(" 
    SELECT p FROM SomeBundle:Page p 
    WHERE p.title LIKE ?0") 
    ->setParameters(array("%{$q}%")) 
+0

對我的藉口,t'was這樣的文檔... http://www.doctrine-project.org/docs/orm/2.1/en/reference/dql-doctrine-query-language .html#dql-select-examples仍然是一個愚蠢的問題。謝謝! – Jan