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

时间:2011-07-09 22:32:03

标签: 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');

但是我在Doctrine中使用WHERE方法调用它之后。 ff。出现“难以理解的错误”:

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

这个问题的解决方案是什么?

2 个答案:

答案 0 :(得分:5)

我认为这条信息不言自明。

使用Doctrine2,您可以使用:

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

或者:

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

答案 1 :(得分:-1)

La solucion es:

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

el espacio entre el = y:,osea: m.Slug= :slug好的, m.Slug=:slug不好