/** * {@inheritDoc} */ public function findPostsByTopic(TopicInterface $topic, $page = 1) { $qb = $this->repository->createQueryBuilder('p')->select('p, t, u')->join('p.topic', 't')->join('p.user', 'u')->where('t.id = :topic')->andWhere('p.isDeleted = 0')->orderBy('p.created', 'asc')->setParameter('topic', $topic->getId()); $pager = new Pager(new ProxyQuery($qb)); $pager->setLimit(25)->setPage($page); return $pager; }
/** * {@inheritDoc} */ public function findTopicsByCategory(CategoryInterface $category, $page = 0) { $qb = $this->repository->createQueryBuilder('t')->select('t, c, u')->join('t.category', 'c')->join('t.user', 'u')->where('c.id = :category')->andWhere('t.isDeleted = 0')->orderBy('t.lastPost', 'desc')->setParameter('category', $category->getId()); $pager = new Pager(new ProxyQuery($qb)); $pager->setPage($page); return $pager; }