protected function loadRelevantPosts(Collection $discussions, DiscussionSearch $search) { $postIds = []; foreach ($search->getRelevantPostIds() as $relevantPostIds) { $postIds = array_merge($postIds, array_slice($relevantPostIds, 0, 2)); } $posts = $postIds ? $this->posts->findByIds($postIds, $search->getActor())->load('user')->all() : []; foreach ($discussions as $discussion) { $discussion->relevantPosts = array_filter($posts, function ($post) use($discussion) { return $post->discussion_id == $discussion->id; }); } }