Open2
Symfony - @ApiResource.collectionOperations.get
CollectionDataProvider.php:59, ApiPlatform\Core\Bridge\Doctrine\Orm\CollectionDataProvider->getCollection()
TraceableChainCollectionDataProvider.php:65, ApiPlatform\Core\Bridge\Symfony\Bundle\DataProvider\TraceableChainCollectionDataProvider->getCollection()
OperationDataProviderTrait.php:52, ApiPlatform\Core\EventListener\ReadListener->getCollectionData()
ReadListener.php:87, ApiPlatform\Core\EventListener\ReadListener->onKernelRequest()
WrappedListener.php:117, Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke()
EventDispatcher.php:230, Symfony\Component\EventDispatcher\EventDispatcher->callListeners()
EventDispatcher.php:59, Symfony\Component\EventDispatcher\EventDispatcher->dispatch()
TraceableEventDispatcher.php:151, Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher->dispatch()
HttpKernel.php:133, Symfony\Component\HttpKernel\HttpKernel->handleRaw()
HttpKernel.php:79, Symfony\Component\HttpKernel\HttpKernel->handle()
Kernel.php:195, App\Kernel->handle()
index.php:37, {main}()
ApiPlatform\Core\Bridge\Doctrine\Orm\CollectionDataProvider.php
/**
* {@inheritdoc}
*
* @throws RuntimeException
*/
public function getCollection(string $resourceClass, string $operationName = null, array $context = [])
{
/** @var EntityManagerInterface $manager */
$manager = $this->managerRegistry->getManagerForClass($resourceClass);
$repository = $manager->getRepository($resourceClass);
if (!method_exists($repository, 'createQueryBuilder')) {
throw new RuntimeException('The repository class must have a "createQueryBuilder" method.');
}
$queryBuilder = $repository->createQueryBuilder('o');
$queryNameGenerator = new QueryNameGenerator();
foreach ($this->collectionExtensions as $extension) {
$extension->applyToCollection($queryBuilder, $queryNameGenerator, $resourceClass, $operationName, $context);
if ($extension instanceof QueryResultCollectionExtensionInterface && $extension->supportsResult($resourceClass, $operationName, $context)) {
return $extension->getResult($queryBuilder, $resourceClass, $operationName, $context);
}
}
return $queryBuilder->getQuery()->getResult();
}