使用Symfony2.8with Doctrine 2.5,我想在Doctrine ORM查询中过滤所有数据集,其中arraycollection恰好包含3个元素.
$em = $this->getDoctrine()->getManager();
$query = $em->getRepository("AppBundle:EduStructItem")
->createQueryBuilder('e')
->addSelect('COUNT(e.preconditions) AS HIDDEN numberpre')
->having('numberpre = 3')
->getQuery();
$res = $query->getResult();
dump($res);
foreach ($res as $entity){
print "title:".$entity->getTitle()."<br>";
dump($entity->getPreconditions()->toArray());
}
Run Code Online (Sandbox Code Playgroud)
preconditions 是一个包含前提条件集合的arraycollection.
最后,我希望得到所有结果正好有3个前提条件.另外,也可以通过arraycollection中的值的数量来排序(类似order by Count(e.preconditions)).
由于使用了另一个捆绑包,我将原则从2.5.2降级到2.5.0.我不认为这是我的问题的原因,但为了完整起见,这是我的作曲家秀的教义部分:
data-dog/pager-bundle v0.2.4 Paginator bundle for symfony2 and doctrine orm, allows customization with filters and sorters
doctrine/annotations v1.2.7 Docblock Annotations Parser
doctrine/cache v1.5.2 Caching library offering an object-oriented API for many cache backends
doctrine/collections v1.3.0 Collections Abstraction library
doctrine/common …Run Code Online (Sandbox Code Playgroud)