哪个方法不在Doctrine查询生成器中?

Duc*_*tal 2 php mysql doctrine doctrine-orm

我有ff基本查询.查询工作正常,没有调用WHERE方法.

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

但是在我用Doctrine中的WHERE方法调用之后.ff.出现"难以理解的错误":

Uncaught exception 'Doctrine\ORM\Query\QueryException' with message 'Invalid parameter format, ? given, but :<name> or ?<num> expected.' 
Run Code Online (Sandbox Code Playgroud)

什么可以解决这个问题?

oco*_*rnu 5

我认为这个信息是不言自明的.

使用Doctrine2,您可以使用以下任一方法:

    $qb->where('m.Slug=:slug')
       ->setParameter('slug', $slug);
Run Code Online (Sandbox Code Playgroud)

之一:

    $qb->where('m.Slug=?1')
       ->setParameter(1, $slug);
Run Code Online (Sandbox Code Playgroud)