Php 在dql中的orderby子句中应用聚合函数
我有这样一个selectdql查询-Php 在dql中的orderby子句中应用聚合函数,php,symfony,doctrine-orm,dql,Php,Symfony,Doctrine Orm,Dql,我有这样一个selectdql查询- $i=0; $max_result=50; $qb=$this->em->createQueryBuilder(); $from='Entities\EventVisitor evtvstr'; $qb->select('evtvstr.user, evtvstr.metadata, u.id') ->add('from', $from) ->groupBy('evtvstr.user') ->orderBy('?') -
$i=0;
$max_result=50;
$qb=$this->em->createQueryBuilder();
$from='Entities\EventVisitor evtvstr';
$qb->select('evtvstr.user, evtvstr.metadata, u.id')
->add('from', $from)
->groupBy('evtvstr.user')
->orderBy('?')
->setFirstResult($i)
->setMaxResults($max_result)
->distinct();
$query = $qb->getQuery();
$query->getSQl();
$results = $query->getResult();
print_r($results);
您可以使用
->addSelect('max(created)AS HIDDEN max_created')
然后按max_created
$qb=$this->em->createQueryBuilder();
$from='Entities\EventVisitor evtvstr';
$qb->select('evtvstr.user, evtvstr.metadata, u.id')
->addSelect('max(created) AS HIDDEN max_created')
->add('from', $from)
->groupBy('evtvstr.user')
->orderBy('max_created')
->setFirstResult($i)
->setMaxResults($max_result)
->distinct();