2011-07-09 49 views
2

我有ff基本查詢。查詢工作正常沒有調用WHERE方法。哪裏方法在Doctrine查詢生成器不工作?

$qb->select(array('m', 'c')) 
      ->from('models\Book', 'm') 
      ->leftJoin('m.Chapters', 'c') 
      ->where('m.Slug=?', $slug) 
      ->orderBy('c.CreateDate', 'DESC'); 

但是我在教條中用WHERE方法調用它之後。 ff。 「難以理解的錯誤」出現:

Uncaught exception 'Doctrine\ORM\Query\QueryException' with message 'Invalid parameter format, ? given, but :<name> or ?<num> expected.' 

這個問題的解決方案是什麼?

回答

5

我認爲這個消息是不言自明的。

隨着Doctrine2,您可以使用:

$qb->where('m.Slug=:slug') 
     ->setParameter('slug', $slug); 

之一:

$qb->where('m.Slug=?1') 
     ->setParameter(1, $slug); 
-1

拉solucion ES:

$qb->where('m.Slug= :slug') 
     ->setParameter('slug', $slug); 

EL非裔恩特雷里奧斯EL = Y:,OSEA: m.Slug= :slug ok, m.Slug=:slug bad

+4

如果你用英文寫你的問題會更好。 – j0k

+1

...和答案也是;-) – acme

相關問題