2014-09-11 56 views
0
  • 我有一個像這個 -應用聚合函數的OrderBy子句中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); 
    
  • 一個選擇DQL查詢現在我想通過申請MAX(創建)(在?我的查詢),以便條款。 我該怎麼做。

回答

0

您可以通過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(); 
使用 ->addSelect('max(created) AS HIDDEN max_created'),然後順序