2013-06-23 35 views
1

我遇到了doctrine2和symfony2的問題。我想創建一個組庫,我不斷收到此錯誤:createQueryBuilder() - > where()問題。綁定變量和令牌不匹配

非法參數編號:

我已經看過了doctrine2語法找出爲什麼綁定變量的數量不匹配的令牌數量我的createQueryBuilder對象給我帶來了我的where()輔助函數的麻煩,而且好像我正在做的一切都是正確的。貝婁是我的代碼:

<?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(); 
    } 
} 

回答

4

使用setParameter()是成功的關鍵,在這裏結合您的查詢參數...閱讀更多關於它here

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