Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony条令查询生成器,生成并排序我的请求 我有3个实体:_Php_Symfony_Doctrine Orm_Request - Fatal编程技术网

Php Symfony条令查询生成器,生成并排序我的请求 我有3个实体:

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)

1:车辆
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')
不,已经尝试过了,这听起来很简单,但很复杂,对吗?