예제 #1
0
 /**
  * Add a "group by" key.
  *
  * @param string $field
  */
 public function addGroupBy($field)
 {
     $alias = self::DEFAULT_TABLE_ALIAS;
     $newAliasField = $this->fieldJoin($this->getClassMetaData(), $field, $alias);
     $alias = $newAliasField['alias'];
     $field = $newAliasField['field'];
     if (count($this->queryFields) > 0) {
         if (!in_array($this->getFullFieldName($field, $alias), $this->queryFields)) {
             $this->queryFields[] = $this->getFullFieldName($field, $alias);
         }
         foreach ($this->queryFields as $item) {
             if (strpos($item, '(') === false) {
                 $this->queryBuilder->addGroupBy($item);
             }
         }
     }
     return $this;
 }