PartKeepr\DoctrineReflectionBundle\Filter\AdvancedSearchFilter::apply PHP Method

apply() public method

public apply ( Dunglas\ApiBundle\Api\ResourceInterface $resource, Doctrine\ORM\QueryBuilder $queryBuilder )
$resource Dunglas\ApiBundle\Api\ResourceInterface
$queryBuilder Doctrine\ORM\QueryBuilder
    public function apply(ResourceInterface $resource, QueryBuilder $queryBuilder)
    {
        $request = $this->requestStack->getCurrentRequest();
        if (null === $request) {
            return;
        }
        if ($request->query->has('filter')) {
            $filter = json_decode($request->query->get("filter"));
        } else {
            $filter = null;
        }
        if ($request->query->has('order')) {
            $order = json_decode($request->query->get("order"));
        } else {
            $order = null;
        }
        $properties = $this->extractConfiguration($filter, $order);
        $filters = $properties['filters'];
        $sorters = $properties['sorters'];
        $this->filter($queryBuilder, $filters, $sorters);
    }