-1

ギャラリーで次の写真を取得するために使用している関数があります。

$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」を取得しました

よろしくお願いします。

4

1 に答える 1

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
于 2013-03-27T11:14:26.987 に答える