我有一个像这样的选择dql查询 -
$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);
现在我想在order by子句中应用max(created)(在我的查询中?)。 我怎么能这样做。
答案 0 :(得分:0)
您可以使用->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();