Newscoop\GimmeBundle\EventListener\QuerySubscriber::serveQuery PHP Method

serveQuery() public method

public serveQuery ( Knp\Component\Pager\Event\ItemsEvent $event )
$event Knp\Component\Pager\Event\ItemsEvent
    public function serveQuery(ItemsEvent $event)
    {
        $pagination = $this->paginationService->getPagination();
        $partialResponse = $this->paginationService->getPartialResponse();
        if ($event->target instanceof Query) {
            if ($pagination->getSort()) {
                $event->target->setHint('newscoop.api.sort', $pagination->getSort());
                QueryHelper::addCustomTreeWalker($event->target, 'Newscoop\\GimmeBundle\\EventListener\\Sortable\\Doctrine\\ORM\\Query\\OrderByWalker');
            }
            if ($partialResponse->getFields()) {
                $event->target->setHint('newscoop.api.fields', $partialResponse->getFields());
                QueryHelper::addCustomTreeWalker($event->target, 'Newscoop\\GimmeBundle\\EventListener\\Selectable\\Doctrine\\ORM\\Query\\SelectWalker');
            }
        }
    }