Php 方法在条令查询生成器中不起作用的位置?

Php 方法在条令查询生成器中不起作用的位置?,php,mysql,doctrine,doctrine-orm,Php,Mysql,Doctrine,Doctrine Orm,我有基本的查询。在不调用WHERE方法的情况下,查询工作正常 $qb->select(array('m', 'c')) ->from('models\Book', 'm') ->leftJoin('m.Chapters', 'c') ->where('m.Slug=?', $slug) ->orderBy('c.CreateDate', 'DESC'); 但在我用教义中的WHE

我有基本的查询。在不调用WHERE方法的情况下,查询工作正常

$qb->select(array('m', 'c'))
           ->from('models\Book', 'm')
           ->leftJoin('m.Chapters', 'c')
           ->where('m.Slug=?', $slug)
           ->orderBy('c.CreateDate', 'DESC');
但在我用教义中的WHERE方法来称呼它之后。这是我的生日礼物。出现“难以理解的错误”:

未捕获异常“条令\ORM\Query\QueryException”,消息“参数格式无效,”?给,但是:还是?预料之中。”

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

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

对于Doctrine2,您可以使用:

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

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