diff --git a/src/CoreBundle/State/UserSessionSubscriptionsStateProvider.php b/src/CoreBundle/State/UserSessionSubscriptionsStateProvider.php index 0783d729556..8d95886b19f 100644 --- a/src/CoreBundle/State/UserSessionSubscriptionsStateProvider.php +++ b/src/CoreBundle/State/UserSessionSubscriptionsStateProvider.php @@ -7,6 +7,7 @@ namespace Chamilo\CoreBundle\State; use ApiPlatform\Doctrine\Orm\Extension\PaginationExtension; +use ApiPlatform\Doctrine\Orm\Paginator; use ApiPlatform\Doctrine\Orm\Util\QueryNameGenerator; use ApiPlatform\Metadata\Operation; use ApiPlatform\State\ProviderInterface; @@ -75,6 +76,20 @@ public function provide(Operation $operation, array $uriVariables = [], array $c $context ); - return $this->paginationExtension->getResult($qb, Session::class, $operation, $context); + $paginator = $this->paginationExtension->getResult($qb, Session::class, $operation, $context); + + // Convert paginator to array since paginationEnabled is false + $result = $paginator; + + if ($result instanceof Paginator) { + return iterator_to_array($result); + } + + // If it's already an array or collection, convert to array + if (is_iterable($result)) { + return \is_array($result) ? $result : iterator_to_array($result); + } + + return []; } }