我有一個Book實體,它與Page實體具有One2Many關係。我想創建一個查詢,檢索至少有一頁的所有書籍。我做了:獲取具有某些元素的實體
$qb = $this->getDoctrine()
->getRepository('AcmeDemoBundle:Book')
->createQueryBuilder('b');
->leftJoin('b.pages','p')
->having($qb->expr()->gt($qb->expr()->count('p'), 0));
$books = $qb
->getQuery()
->getResult();
問題是,雖然有很多書有頁面,但這個查詢只返回一本書。
創建的查詢是:
SELECT b FROM Acme\DemoBundle\Entity\Book b LEFT JOIN b.pages p HAVING COUNT(p) > 0
這看起來好像沒什麼問題。任何想法可能是錯的?
你是對的,你的解決方案更好。謝謝! –