createQueryBuilder()->;where()问题.绑定变量和标记不匹配


createQueryBuilder()->where() issue. bound variables and tokens do not match

我的doctrine2和symfony2有问题。我正在尝试创建一个组存储库,但我仍然收到以下错误:

无效的参数编号:绑定变量的数量与令牌的数量不匹配

我已经查看了doctrine2语法,以弄清楚为什么我的createQueryBuilder对象会给我的where()helper函数带来麻烦,而且我似乎做得很正确。Bellow是我的代码:

<?php
namespace Blogger'BlogBundle'Entity'Repository;
use Doctrine'ORM'EntityRepository;
/**
 * GroupRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class GroupRepository extends EntityRepository
{
    public function getGroupByName($name)
    {
        return $this->createQueryBuilder('g')
            ->select('g')
            ->where('g.name=:' . $name)
            ->getQuery()
            ->getSingleResult();
    }
}

使用setParameter()绑定查询参数是成功的关键。。。点击此处了解更多信息。

public function getGroupByName($name)
{
    return $this->createQueryBuilder('g')
        ->where('g.name = :name')
        ->setParameter('name', $name)
        ->getQuery()
        ->getSingleResult();
}