/** * * @access protected * @param \CCDNForum\ForumBundle\Entity\Topic $topic */ protected function updateTopicStats(Topic $topic) { if ($topic->getId()) { // Get stats. $topicPostCount = $this->postModel->countPostsForTopicById($topic->getId()); $topicFirstPost = $this->postModel->getFirstPostForTopicById($topic->getId()); $topicLastPost = $this->postModel->getLastPostForTopicById($topic->getId()); // Set the board / topic last post. $topic->setCachedReplyCount($topicPostCount > 0 ? --$topicPostCount : 0); $topic->setFirstPost($topicFirstPost ?: null); $topic->setLastPost($topicLastPost ?: null); $this->topicModel->updateTopic($topic); } }