Newscoop\Entity\Repository\CommentRepository::countByUser PHP Метод

countByUser() публичный Метод

Get comments count for user
public countByUser ( User $user ) : integer
$user Newscoop\Entity\User
Результат integer
    public function countByUser(User $user)
    {
        $em = $this->getEntityManager();
        $qb = $em->createQueryBuilder();
        $qb->select('commenter.id')->from('Newscoop\\Entity\\Comment\\Commenter', 'commenter')->where('commenter.user = :commenterUserId')->setParameter('commenterUserId', $user->getId());
        $commenterId = $qb->getQuery()->getArrayResult();
        if (array_key_exists(0, $commenterId)) {
            $commenterId = $commenterId[0];
        } else {
            return 0;
        }
        if (is_array($commenterId) && array_key_exists('id', $commenterId)) {
            $qb = $em->createQueryBuilder();
            $qb->select('count(comment.id)')->from('Newscoop\\Entity\\Comment', 'comment')->where('comment.commenter = :commenter')->setParameter('commenter', $commenterId['id']);
            return (int) $qb->getQuery()->getSingleScalarResult();
        } else {
            return 0;
        }
    }