簡體   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