X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FRepository%2FEntryRepository.php;h=4071301de0206c1dfbc409b1971d7bd9ff0131c9;hb=bba94d74585e465f541e20c8aba2e95695435cc4;hp=553ad6abadd7f0c91f687ad4edebe7d5a7fbd0db;hpb=15cc1838501955638f3ac6e0fb3235bb6ac4e26c;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index 553ad6ab..4071301d 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -106,8 +106,9 @@ class EntryRepository extends EntityRepository $qb->andWhere('e.isArchived = true'); } + // We lower() all parts here because PostgreSQL 'LIKE' verb is case-sensitive $qb - ->andWhere('e.content LIKE :term OR e.title LIKE :term')->setParameter('term', '%'.$term.'%') + ->andWhere('lower(e.content) LIKE lower(:term) OR lower(e.title) LIKE lower(:term) OR lower(e.url) LIKE lower(:term)')->setParameter('term', '%'.$term.'%') ->leftJoin('e.tags', 't') ->groupBy('e.id'); @@ -125,9 +126,7 @@ class EntryRepository extends EntityRepository { return $this ->getBuilderByUser($userId) - ->leftJoin('e.tags', 't') - ->groupBy('e.id') - ->having('count(t.id) = 0'); + ->andWhere('size(e.tags) = 0'); } /** @@ -173,7 +172,7 @@ class EntryRepository extends EntityRepository $qb->orderBy('e.updatedAt', $order); } - $pagerAdapter = new DoctrineORMAdapter($qb); + $pagerAdapter = new DoctrineORMAdapter($qb, true, false); return new Pagerfanta($pagerAdapter); }