小编Imm*_*uel的帖子

doctrine ORM count arraycollection in where condition

使用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)

orm arraycollection symfony doctrine-orm

6
推荐指数
1
解决办法
2264
查看次数

标签 统计

arraycollection ×1

doctrine-orm ×1

orm ×1

symfony ×1