我有一个 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
这对我来说看起来不错。知道可能出了什么问题吗?