CountWalker, Hidden field in select and in groupBy #6463

Open
opened 2026-01-22 15:33:39 +01:00 by admin · 0 comments
Owner

Originally created by @viszman on GitHub (May 12, 2020).

Bug Report

Q A
BC Break no
Version 2.7.2

Summary

I have Class that creates DQL and after successful fetching data from MySQL server it requests totalCount using vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Pagination/Paginator.php:263

Current behavior

SELECT o, x, y, SUBSTRING(o.longstring, 1, 10) as HIDDEN groupBY
FROM App\Entity\o o
INNER JOIN o.X x
LEFT JOIN o.Y y
GROUP BY groupBY
ORDER BY o.id ASC

CountWalker is replacing everything in SELECT with COUNT

How to reproduce

   $queryBuilder->addSelect(sprintf('SUBSTRING(o.%s, 1, %s) as HIDDEN groupBY',
                                     $property,
                                     10)
    );
    $queryBuilder->groupBy('groupBY');

    $paginator = new Paginator($queryBuilder);
    $paginator->count();

Expected behavior

not replacing HIDDEN fields if field in select is dependand on other fields like in above example

Originally created by @viszman on GitHub (May 12, 2020). ### Bug Report <!-- Fill in the relevant information below to help triage your issue. --> | Q | A |------------ | ------ | BC Break | no | Version | 2.7.2 #### Summary I have Class that creates DQL and after successful fetching data from MySQL server it requests totalCount using vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Pagination/Paginator.php:263 #### Current behavior SELECT o, x, y, SUBSTRING(o.longstring, 1, 10) as HIDDEN groupBY FROM App\Entity\o o INNER JOIN o.X x LEFT JOIN o.Y y GROUP BY groupBY ORDER BY o.id ASC CountWalker is replacing everything in SELECT with COUNT #### How to reproduce $queryBuilder->addSelect(sprintf('SUBSTRING(o.%s, 1, %s) as HIDDEN groupBY', $property, 10) ); $queryBuilder->groupBy('groupBY'); $paginator = new Paginator($queryBuilder); $paginator->count(); #### Expected behavior <!-- What was the expected (correct) behavior? --> not replacing HIDDEN fields if field in select is dependand on other fields like in above example
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#6463