/** * @param QueryBuilder $query * @param ProductAttributeFacet $facet * @param Criteria $criteria * @return null|BooleanFacetResult */ private function createBooleanFacetResult(QueryBuilder $query, ProductAttributeFacet $facet, Criteria $criteria) { $sqlField = 'productAttribute.' . $facet->getField(); $query->select('COUNT(' . $sqlField . ')'); /**@var $statement \Doctrine\DBAL\Driver\ResultStatement */ $statement = $query->execute(); $result = $statement->fetch(\PDO::FETCH_COLUMN); if (empty($result)) { return null; } return new BooleanFacetResult($facet->getName(), $facet->getFormFieldName(), $criteria->hasCondition($facet->getName()), $facet->getLabel()); }