Fix tag count for PostgreSQL

This commit is contained in:
Jeremy Benoist 2016-09-25 12:23:44 +02:00
parent 82fc3290d4
commit 289875836a
No known key found for this signature in database
GPG Key ID: BCA73962457ACC3C
2 changed files with 6 additions and 8 deletions

View File

@ -7,17 +7,17 @@ use Doctrine\ORM\EntityRepository;
class TagRepository extends EntityRepository class TagRepository extends EntityRepository
{ {
/** /**
* Find all tags per user. * Count all tags per user.
* *
* @param int $userId * @param int $userId
* @param int $cacheLifeTime Duration of the cache for this query * @param int $cacheLifeTime Duration of the cache for this query
* *
* @return array * @return int
*/ */
public function findAllTags($userId, $cacheLifeTime = null) public function countAllTags($userId, $cacheLifeTime = null)
{ {
$query = $this->createQueryBuilder('t') $query = $this->createQueryBuilder('t')
->select('t') ->select('t.slug')
->leftJoin('t.entries', 'e') ->leftJoin('t.entries', 'e')
->where('e.user = :userId')->setParameter('userId', $userId) ->where('e.user = :userId')->setParameter('userId', $userId)
->groupBy('t.slug') ->groupBy('t.slug')
@ -29,7 +29,7 @@ class TagRepository extends EntityRepository
$query->setResultCacheLifetime($cacheLifeTime); $query->setResultCacheLifetime($cacheLifeTime);
} }
return $query->getArrayResult(); return count($query->getArrayResult());
} }
/** /**

View File

@ -104,9 +104,7 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
return 0; return 0;
} }
$data = $this->tagRepository->findAllTags($user->getId()); return $this->tagRepository->countAllTags($user->getId());
return count($data);
} }
public function getName() public function getName()