예제 #1
0
 /**
  * {@inheritdoc}
  */
 public function findMessages(ConversationInterface $conversation, $offset = 0, $limit = 20, $sortDirection = 'ASC')
 {
     $qb = $this->objectManager->createQueryBuilder()->select('m', 's')->from($this->getMessageClass(), 'm')->leftJoin('m.sender', 's')->where('m.conversation = :conversation')->setParameter('conversation', $conversation->getId())->setMaxResults($limit)->setFirstResult($offset)->orderBy('m.date', $sortDirection)->addOrderBy('m.id', $sortDirection);
     return new ArrayCollection($qb->getQuery()->getResult());
 }
 public function messagePage(ConversationInterface $conversation, MessageInterface $message)
 {
     $position = $conversation->getMessages()->indexOf($message);
     return ceil(($position + 1) / DefaultController::MESSAGES_PER_PAGE);
 }