WellCommerce\Component\DataSet\QueryBuilder\DataSetQueryBuilder::addColumnConditionToQueryBuilder PHP Method

addColumnConditionToQueryBuilder() private method

Adds additional where/having clauses for given dataset's column
private addColumnConditionToQueryBuilder ( Doctrine\ORM\QueryBuilder $queryBuilder, WellCommerce\Component\DataSet\Column\ColumnInterface $column, WellCommerce\Component\DataSet\Conditions\ConditionInterface $condition )
$queryBuilder Doctrine\ORM\QueryBuilder
$column WellCommerce\Component\DataSet\Column\ColumnInterface
$condition WellCommerce\Component\DataSet\Conditions\ConditionInterface
    private function addColumnConditionToQueryBuilder(QueryBuilder $queryBuilder, ColumnInterface $column, ConditionInterface $condition)
    {
        $source = $column->getSource();
        $alias = $column->getAlias();
        $operator = $condition->getOperator();
        $identifier = sprintf('%s_%s', $condition->getIdentifier(), $this->paramIteration++);
        if ($column->isAggregated()) {
            $expression = $queryBuilder->expr()->{$operator}($alias, ':' . $identifier);
            $queryBuilder->andHaving($expression);
        } else {
            $expression = $queryBuilder->expr()->{$operator}($source, ':' . $identifier);
            $queryBuilder->andWhere($expression);
        }
        $queryBuilder->setParameter($identifier, $condition->getValue());
    }