/** * Retrieve articles by tag. * * @param $tag * @return mixed */ public function tagArticle($tag) { $article = new Article(); $articles = $article->preArticleQuery()->join('article_tags', 'articles.id', '=', 'article_tags.article_id')->join('tags', 'tags.id', '=', 'tag_id')->where('tags.tag', 'like', $tag)->where('articles.status', 'published')->orderBy('articles.created_at', 'desc')->paginate(12); return $article->preArticleModifier($articles); }
/** * Retrieve stream by contributor. * * @param $username * @return mixed */ public function stream($username) { $contributor = $this->whereUsername($username)->first(); $follow = $contributor->following()->select('following')->pluck('following')->toArray(); $article = new Article(); $articles = $article->preArticleQuery()->published()->whereIn('contributor_id', $follow)->paginate(10); return $article->preArticleModifier($articles); }
/** * Retrieve articles by subcategory. * * @param $id * @return mixed */ public function subcategoryArticle($id) { $article = new Article(); $articles = $article->preArticleQuery()->where('articles.status', 'published')->where('subcategory_id', $id)->orderBy('articles.created_at', 'desc')->paginate(12); return $article->preArticleModifier($articles); }