From a547f064fa1413036b8ce8fa0f19578f6e6121c0 Mon Sep 17 00:00:00 2001 From: ouss-oud Date: Sun, 25 Aug 2024 23:19:01 +0200 Subject: [PATCH] Fix compatibility issues with Doctrine. --- Entity/TransUnitRepository.php | 6 +++++- Util/Doctrine/SingleColumnArrayHydrator.php | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/Entity/TransUnitRepository.php b/Entity/TransUnitRepository.php index 084aa820..051201d2 100644 --- a/Entity/TransUnitRepository.php +++ b/Entity/TransUnitRepository.php @@ -111,15 +111,19 @@ public function getTransUnitList(array $locales = null, $rows = 20, $page = 1, a /** * Count the number of trans unit. * + * @param array $criteria * @return int */ - public function count(array $locales = null, array $filters = null) + public function count(array $criteria = []): int { $this->loadCustomHydrator(); $builder = $this->createQueryBuilder('tu') ->select('COUNT(DISTINCT tu.id) AS number'); + $locales = $criteria['locales'] ?? null; + $filters = $criteria['filters'] ?? null; + $this->addTransUnitFilters($builder, $filters); $this->addTranslationFilter($builder, $locales, $filters); diff --git a/Util/Doctrine/SingleColumnArrayHydrator.php b/Util/Doctrine/SingleColumnArrayHydrator.php index e989aaa6..3078faae 100644 --- a/Util/Doctrine/SingleColumnArrayHydrator.php +++ b/Util/Doctrine/SingleColumnArrayHydrator.php @@ -2,6 +2,8 @@ namespace Lexik\Bundle\TranslationBundle\Util\Doctrine; +use Doctrine\DBAL\Result; +use Doctrine\ORM\Query\ResultSetMapping; use Doctrine\ORM\Internal\Hydration\AbstractHydrator; /** @@ -14,7 +16,7 @@ class SingleColumnArrayHydrator extends AbstractHydrator /** * {@inheritdoc} */ - protected function hydrateAllData() + protected function hydrateAllData(): mixed { $result = []; @@ -34,4 +36,13 @@ protected function hydrateAllData() return $result; } + + /** + * {@inheritdoc} + */ + public function hydrateAll(Result $stmt, ResultSetMapping $resultSetMapping, array $hints = []): mixed + { + $this->_stmt = $stmt; + return parent::hydrateAll($stmt, $resultSetMapping, $hints); + } }