/** * {@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 incrementViewsCount(TopicInterface $topic) { $topic->incrementViewsCount(); $this->em->persist($topic); $this->em->flush(); }
/** * {@inheritDoc} */ public function findPostsByTopic(TopicInterface $topic) { $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()); $query = $qb->getQuery(); return $query->getResult(); }