繁体   English   中英

哪里方法在 Doctrine 查询生成器中不起作用?

[英]Where Method not working in Doctrine Query Builder?

我有 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.' 

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

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

使用 Doctrine2,您可以使用:

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

任何一个:

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

解决方案:

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

el espacio entre el = y:, osea: m.Slug=:slug ok, m.Slug=:slug bad

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM