/** * Display an article. * * @param \Yajra\CMS\Entities\Article $article * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function show(Article $article, Request $request) { $article->increment('hits'); $template = $request->get('tmpl', 'master'); event(new ArticleWasViewed($article)); return view('article.show', compact('article', 'template')); }
/** * Publish/Unpublish a article. * * @param \Yajra\CMS\Entities\Article $article * @return \Illuminate\Http\JsonResponse */ public function publish(Article $article) { $article->togglePublishedState(); return $this->notifySuccess(trans('cms::article.update.publish', ['task' => $article->published ? 'published' : 'unpublished'])); }
/** * Get the query object to be processed by datatables. * * @return \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder */ public function query() { $articles = Article::select('articles.*', 'categories.title as category_title')->join('categories', 'categories.id', '=', 'articles.category_id'); return $this->applyScopes($articles); }
/** * Get related article. * * @return \Yajra\CMS\Entities\Article */ public function article() { return Article::findOrNew($this->fluentParameters()->get('article_id', 0)); }