2013-03-27 23 views
-1

有我用得到的畫廊下一張照片的功能:學說 ORM 查詢 QueryException - 錯誤:應爲字符串的結尾,有「WHERE」

$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:錯誤:串預期結束時,得到了 '其中'

非常感謝提前。

回答

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 
+0

哦,是的,你是絕對正確的。非常感謝!我試圖從DIBI流利的代碼重寫查詢,並且有 - 像where('query1') - > where('query2')'。它代表'WHERE query1 AND query2' :) – 2013-03-27 13:32:58