Symfony2和DQL

Symfony2和DQL,symfony,doctrine,Symfony,Doctrine,我正在运行以下DQL语句: return $this->getEntityManager() ->createQuery("SELECT s FROM Bundle:table s WHERE s.title LIKE '%:search%'") ->setParameter('search', $search) ->getResult(); 但我得到了一个错误: Invalid parameter number: number of bound

我正在运行以下DQL语句:

return $this->getEntityManager()
    ->createQuery("SELECT s FROM Bundle:table s WHERE s.title LIKE '%:search%'")
    ->setParameter('search', $search)
    ->getResult();
但我得到了一个错误:

Invalid parameter number: number of bound variables does not match number of tokens

有人知道我做错了什么吗?

显然
Bundle:table
不是对项目中的Bundle和实体的正确引用。检查捆绑包/实体(或实体?)名称的拼写和大小写。

您不能像这样使用变量替换。试试这个:

return $this->getEntityManager()
    ->createQuery("SELECT s FROM Bundle:table s WHERE s.title LIKE :search")
    ->setParameter('search', "%" . $search . "%")
    ->getResult();

是的,我意识到在调试时,它正在剥离
%
。谢谢你的帮助。