/**
* @return bool|string
*/
public function getTotal()
{
if ($this->total) {
return $this->total;
}
$queryBuilder = $this->repository->getEm()->createQueryBuilder();
$fromParts = $this->queryBuilder->getQueryPart('from');
if ($fromParts) {
foreach ($fromParts as $from) {
$queryBuilder->from($from['table'], $from['alias']);
}
}
$queryBuilder->select('COUNT(*)');
$where = $this->queryBuilder->getQueryPart('where');
if ($where) {
$queryBuilder->add('where', (string) $where);
}
$parameters = $this->queryBuilder->getParameters();
if ($parameters) {
foreach ($parameters as $key => $value) {
$queryBuilder->setParameter($key, $value);
}
}
return $this->total = $queryBuilder->execute()->fetchColumn();
}