Doctrine查询生成器抛出错误

时间:2015-03-12 11:56:25

标签: symfony doctrine

我试图写一个简单的查询,然后var转储结果。但是我收到了这个错误:

  

[语义错误]第0行,第15行附近' Admin WHERE name':错误:   班级'管理员'没有定义。

这是我的方法:

public function processLogin()
{
    $name     = $this->request->request->get('username');
    $password = $this->request->request->get('password');

    $em    = $this->getDoctrine()->getManager();
    $query = $em->createQuery('SELECT id FROM Admin WHERE name = :name AND password = :password')
                ->setParameter('name', $name)
                ->setParameter('password', $password);

    $result = $query->getResult();
    var_dump($result);
}

哪里可能是错误?

1 个答案:

答案 0 :(得分:1)

重写您的查询,如下所示

$query = $em->createQuery(
    'SELECT u.id 
     FROM YourBundle:Admin u
     WHERE u.name = :name 
       AND 
           u.password = :password
     ')
     ->setParameter('name', $name)
     ->setParameter('password', $password);

别名部分与查询构建器有关。我认为如果您使用实体经理,则无需做那么多工作。