Contagem de linhas no Doctrine 2

Eu estou tentando recuperar comentários de uma tabela Comentário que tem id, jogo (uma chave estrangeira) e data.

Toda vez que eu pedir comentários, quero receber 3 comentários classificados por data para um jogo específico e quero saber se há mais comentários para mostrar depois. Para isso, escrevi duas funções, a primeira retorna os três comentários:

public function getRecentComments($offset,$id) {
    $dql = "SELECT c FROM Comment c 
        WHERE c.game = ?1
        ORDER BY c.date DESC";
    $query = $this->getEntityManager()->
        createQuery($dql)->
        setParameter(1, (int)$id)->    
        setMaxResults(3)->
        setFirstResult($offset);
    return $query->getResult();

E o segundo retorna o número de comentários que eu poderia obter mais tarde. O motivo desta função é mostrar um botão "Mais comentários" ou não. Esta é a segunda função:

public function moreComments($offset,$id) {

    $dql = "SELECT COUNT(c.id) FROM Comment c
        WHERE c.game = ?1
        ORDER BY c.date DESC";
    $query = $this->getEntityManager()
        ->createQuery($dql)
        ->setParameter(1, (int)$idPartido)
        ->setFirstResult($offset+3)    
        ->setMaxResults(1)
        ->getSingleScalarResult();

    return $query;
}

Mas a segunda função não funciona para o próximo erro:

Erro fatal: exceção não capturada 'Doctrine \ ORM \ NoResultException' com mensagem 'Nenhum resultado foi encontrado para consulta, embora pelo menos uma linha fosse esperada.

Qual eu acho que é devido a usar setFirstResult e count ().

Então eu usei

public function moreComments($offset,$id) {

    $dql = "SELECT c FROM Comentario c
        WHERE c.partido = ?1
        ORDER BY c.fecha DESC";
    $query = $this->getEntityManager()
        ->createQuery($dql)
        ->setParameter(1, (int)$idPartido)
        ->setFirstResult($offset+3)    
        ->setMaxResults(1)
        ->getSingleScalarResult();

    return sizeof($query);
}

O que obviamente é ruim escrito porque eu não deveria obter os dados apenas por uma contagem. Como eu poderia escrever a segunda função corretamente?

Desde já, obrigado.

questionAnswers(1)

yourAnswerToTheQuestion