Newscoop\NewscoopBundle\Controller\CommentsController::buildFilterQuery PHP Метод

buildFilterQuery() приватный Метод

Creates query for given form filters
private buildFilterQuery ( array $filters, Doctrine\ORM\Query\Expr $query, Symfony\Component\HttpFoundation\ParameterBag $sessionParameter, Doctrine\ORM\QueryBuilder $queryBuilder ) : Doctrine\ORM\Query\Expr
$filters array Filters
$query Doctrine\ORM\Query\Expr Query operator
$sessionParameter Symfony\Component\HttpFoundation\ParameterBag Query operator
$queryBuilder Doctrine\ORM\QueryBuilder Query builder
Результат Doctrine\ORM\Query\Expr
    private function buildFilterQuery($filters, $query, $sessionParameter, $queryBuilder)
    {
        $statusMap = Comment::$status_enum;
        foreach ($filters as $key => $value) {
            if ($value) {
                $query->add($queryBuilder->expr()->eq('c.status', array_search($key, $statusMap)));
                $sessionParameter->set('filter' . ucfirst($key), array_search($key, $statusMap));
                if ($key == 'approved') {
                    $sessionParameter->set('filter' . ucfirst($key), true);
                }
            }
        }
        return $query;
    }