public function countBy(array $criteria = array())
{
$queryBuilder = $this->getQueryBuilder()->select('COUNT(t)')->from($this->getEntityName(), 't');
foreach ($criteria as $property => $value) {
if (!is_array($value)) {
$queryBuilder->andWhere("t.{$property} = :{$property}")->setParameter($property, $value);
}
}
$query = $queryBuilder->getQuery();
return (int) $query->getSingleScalarResult();
}