2014-07-15 2 views
0

배열 0 반환 요소는 그래서, 난 내 저장소에서이 쿼리를 가지고 :교리 queryBuilder,

$qb = $this->_em->createQueryBuilder(); 
    $qb->select(array('a', 'COUNT(t.id) as counter')) 
      ->from('MyProjectBundle:Account', 'a') 
       ->leftjoin('a.tha', 'th') 
       ->leftjoin('th.the', 't') 
      ->where('t.is_good = ?1') 
      ->groupby('a') 
      ->orderby('counter', 'DESC') 
      ->setMaxResults(30) 
      ->setParameters(array(1 => $is_good)); 
    return $qb->getQuery()->getResult(); 

그래서,이 쿼리, 내가 counter에 의해 계정의 목록, 순서가있다. 내가 JSON에서이 쿼리의 결과를 반환 할 때, 내가 볼 수

{  
    "myjson": [ 
     { 
      "0": { 
       "username": "blabla", 
      }, 
      "counter": "2" 
     } 
     { 
      "0": { 
       "username": "aeiouy", 
      }, 
      "counter": "1" 
     } 
    ] 
} 

당신은 내 JSON의 각 요소에 대한 "0"을 볼 수 있습니다 .. 내가이 0을 제거 할 수 있습니까? 다음과 같은 것을 원합니다.

{  
    "myjson": [ 
     { 
      "username": "blabla",     
      "counter": "2" 
     }, 
     { 
      "username": "aeiouy", 
      "counter": "1" 
     } 
    ] 
} 

아이디어가 있으십니까?

답변

1

봅니다

$qb = $this->_em->createQueryBuilder(); 
$qb->select(array('a.username', 'COUNT(t.id) as counter')) 
     ->from('MyProjectBundle:Account', 'a') 
      ->leftjoin('a.tha', 'th') 
      ->leftjoin('th.the', 't') 
     ->where('t.is_good = ?1') 
     ->groupby('a') 
     ->orderby('counter', 'DESC') 
     ->setMaxResults(30) 
     ->setParameters(array(1 => $is_good)); 
return $qb->getQuery()->getResult(); 
로 변경하기