/** * 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; }