/** * @param QueryBuilder $queryBuilder * @param string $dqlAlias * * @return string */ public function modify(QueryBuilder $queryBuilder, $dqlAlias) { $filter = $this->parent->modify($queryBuilder, $dqlAlias); if (empty($filter)) { return ''; } return (string) $queryBuilder->expr()->not($filter); }
/** * Modifies the QueryBuilder according to the passed Specification. * Will also set the condition for this query if needed. * * @param QueryBuilder $queryBuilder * @param SpecificationInterface $specification * * @internal param string $dqlAlias */ private function modifyQueryBuilder(QueryBuilder $queryBuilder, SpecificationInterface $specification) { $condition = $specification->modify($queryBuilder, $this->dqlAlias); if (empty($condition)) { return; } $queryBuilder->where($condition); }
public function modify(QueryBuilder $queryBuilder, $dqlAlias) { call_user_func_array([$queryBuilder, $this->type], [$this->specification->modify($queryBuilder, $dqlAlias)]); }