Php Symfony条令查询生成器,生成并排序我的请求 我有3个实体:
1:车辆Php Symfony条令查询生成器,生成并排序我的请求 我有3个实体:,php,symfony,doctrine-orm,request,Php,Symfony,Doctrine Orm,Request,1:车辆 2:用户 3:包 关系很简单 用户>多通>车辆 行李>移动电话>车辆 我想返回一个车辆列表,根据用户数量和行李数量进行排序。一个经典的请求,但我没有成功 这是我的无效代码,巫婆给我发送了我的列表,但不是正确的用户数和行李数 $qb = $this->createQueryBuilder('v') ->select('v.id, v.name') ->addSelect('COUNT(b.id) as nbbags,COUNT(u.id)
2:用户
3:包 关系很简单 用户>多通>车辆
行李>移动电话>车辆 我想返回一个车辆列表,根据用户数量和行李数量进行排序。一个经典的请求,但我没有成功 这是我的无效代码,巫婆给我发送了我的列表,但不是正确的用户数和行李数
$qb = $this->createQueryBuilder('v')
->select('v.id, v.name')
->addSelect('COUNT(b.id) as nbbags,COUNT(u.id) as nbusers')
->leftJoin('c.Users', 'u')
->leftJoin('c.Bags', 'b')
->setMaxResults(150)
->orderBy('nbusers', 'desc')
->addOrderBy('nbbags')
->groupBy('c.id')
->getQuery();
return $qb->execute();
感谢您的帮助显示实体代码。也许你可以在没有连接的情况下做到这一点。选择所需的实体,然后在列表中循环执行类似于
$vehicle->getBags()->count()的操作代码>是的,我知道这种方法,但我真的想直接在SQL requesttry中对其进行排序->addSelect('COUNT(b)as nbbags,COUNT(u)as nbusers')
不,已经尝试过了,这听起来很简单,但很复杂,对吗?