Doctrine \ ORM \ Query \ QueryException - 错误:字符串的预期结束,得到'WHERE'

时间:2013-03-27 11:10:26

标签: php doctrine-orm dql

我正在使用一个功能来获取图库中的下一张照片:

$q = "SELECT i FROM GalleryModule\Image i WHERE i.id = (SELECT MIN(p.id) FROM GalleryModule\Image p WHERE p.id > :id ORDER BY p.position, p.id DESC) WHERE i.gallery = :gallery";
    $query = $this->getEntityManager()->createQuery($q);
    $query->setMaxResults(1);
    $query->setParameters(array(
        'id' => $image->getId(),
        'gallery' => $image->getGallery()->getId()
    ));
    return $query->getOneOrNullResult();

我仍然面临的错误:

Doctrine\ORM\Query\QueryException

[语法错误]第0行,第143行:错误:字符串的预期结束,得到'WHERE'

提前多多感谢。

1 个答案:

答案 0 :(得分:3)

你有多个地方

也许你的意思是:

SELECT i FROM GalleryModule\Image i 
WHERE i.id = 
    (SELECT MIN(p.id) 
    FROM GalleryModule\Image p 
    WHERE p.id > :id ORDER BY p.position, p.id DESC) 
AND i.gallery = :gallery
相关问题