0

我正在运行这个 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

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

4

2 回答 2

1

你不能像那样使用变量替换。尝试这个:

return $this->getEntityManager()
    ->createQuery("SELECT s FROM Bundle:table s WHERE s.title LIKE :search")
    ->setParameter('search', "%" . $search . "%")
    ->getResult();
于 2012-07-18T08:14:45.037 回答
0

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

于 2012-07-18T06:22:05.400 回答