Skip to content

Commit

Permalink
perf: remove useless GROUP BY columns when using SelectColumns
Browse files Browse the repository at this point in the history
  • Loading branch information
williarin committed Jun 12, 2022
1 parent 9d41d0d commit 460bf0d
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions src/Bridge/Repository/AbstractEntityRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,13 +105,13 @@ public function createFindByQueryBuilder(array $criteria, ?array $orderBy): Quer
$normalizedCriteria = $this->normalizeCriteria($criteria);
$this->tableAliases['p'] = $this->getEntityBaseFields();

$prefixedEntityBaseField = $this->getPrefixedEntityBaseFields('p');
$prefixedEntityBaseFields = $this->getPrefixedEntityBaseFields('p');

$queryBuilder = $this->entityManager->getConnection()
->createQueryBuilder()
->select($prefixedEntityBaseField)
->select($prefixedEntityBaseFields)
->from($this->entityManager->getTablesPrefix() . static::TABLE_NAME, 'p')
->addGroupBy(...$prefixedEntityBaseField)
->addGroupBy(...$prefixedEntityBaseFields)
;

if (is_subclass_of($this->getEntityClassName(), BaseEntity::class)) {
Expand Down Expand Up @@ -498,6 +498,8 @@ private function selectColumns(QueryBuilder $queryBuilder, array $extraFields, S
$selects = [];
$hasExtraFields = false;

$queryBuilder->resetQueryPart('groupBy');

foreach ($value->getColumns() as $column) {
if (in_array($column, $extraFields, true)) {
$mappedMetaKey = $this->getMappedMetaKey($column);
Expand Down

0 comments on commit 460bf0d

Please sign in to comment.