2011-07-09 15 views
2

私はffの基本クエリを持っています。クエリはWHEREメソッドが呼び出されることなく正常に動作します。ここでメソッドはDoctrine Query Builderで動作しませんか?

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

しかし、私はDoctrineの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); 

エルエスパシオエントレ・エル= Y:、オーシア: m.Slug= :slug ok、 m.Slug=:slug bad

+4

英語で質問を書く方が良いです。 – j0k

+1

...と答え、あまりにも;-) – acme

関連する問題