0
我试图执行一个简单的查询,但我不明白我的错误在哪里。请帮忙!错误的查询 - Doctrine2/Symfony2
这是仓库类:
public function searchFriends ($param)
{
return $this->getEntityManager()
->createQuery('SELECT f FROM EMMyFriendsBundle:Friend f WHERE f.name='.$param)
->getResult();
}
这就是我如何把它从控制器的行动:
$em = $this->getDoctrine()->getEntityManager();
$result = $em->getRepository('EMMyFriendsBundle:Friend')
->searchFriends($search->getWords());
当它以这种方式,我得到以下错误:
[Semantical Error] line 0, col 54 near 'Maria': Error: 'Maria' is not defined.
500 Internal Server Error - QueryException
我试图用这种方式将搜索值放在引号中:
public function searchFriends ($param)
{
return $this->getEntityManager()
->createQuery('SELECT f FROM EMMyFriendsBundle:Friend f WHERE f.name=" '.$param ' " ')
->getResult();
}
但后来我得到
[Syntax Error] line 0, col 59: Error: Expected end of string, got ' " '
500 Internal Server Error - QueryException
你能告诉我如何正确地编写查询?提前致谢!
编辑
我也试过这样:
public function searchFriends ($param)
{
$q = $this
->createQueryBuilder('f')
->where('f.name = :name')
->setParameter('name', $param)
->getQuery();
return $q->getResult();
}
与此:
$em = $this->getDoctrine()->getEntityManager();
$result = $em->getRepository('EMMyFriendsBundle:Friend')
->searchFriends($search->getWords());
,它的workiiing
当点是存在的,错误是[语法错误] 0行,列59:错误:预期年底'':(我会尝试另一种方式, – Faery
你现在的代码如何?你犯了类似的错误...... – adosaiguas
当我复制代码时,你给出的错误仍然是[Syntax Error]行0,col 54:Error:Expected Literal,got''' – Faery