Php 如何在symfony2中通过字母执行搜索功能?

Php 如何在symfony2中通过字母执行搜索功能?,php,symfony,Php,Symfony,我正在使用symfony 2.8搜索我的web。我的存储库类中有一个函数,可以通过用户搜索的字母查找: public function findByLetters($string){ return $this->getEntityManager()->createQuery('SELECT u.name FROM AppBundle:User u WHERE u.nombre LIKE :string') ->setPara

我正在使用symfony 2.8搜索我的web。我的存储库类中有一个函数,可以通过用户搜索的字母查找:

public function findByLetters($string){

    return $this->getEntityManager()->createQuery('SELECT u.name FROM AppBundle:User u  
            WHERE u.nombre LIKE :string')
        ->setParameter('string','%'.$string.'%')
        ->getResult();
   }
我认为这个查询是正确的,但是当我从ajax调用到我的twig页面时,这个函数返回数据库中的所有用户。。。并且并非所有用户都包含插入的字母

有什么问题吗?为什么此函数返回所有数据库名称


谢谢

您的代码似乎有输入错误,您想检查用户名,而不是“号码”:


正如其他人所说,在调用
findByLetters

查询之前,请确保检查您的字符串是否为空,您是否转储了($string)?可以肯定的是,原因可能是空字符串。检查inspect元素,看看AJAX是否具有正确的字符串值。谢谢!我的函数接收到一个空字符串。。因为这显示了一切。
public function findByLetters($string){

    return $this->getEntityManager()->createQuery('SELECT u.name FROM AppBundle:User u  
            WHERE u.name LIKE :string')
        ->setParameter('string','%'.$string.'%')
        ->getResult();
}