/** * Get the query object to be processed by datatables. * * @return \Illuminate\Database\Query\Builder|\Illuminate\Database\Eloquent\Builder */ public function query() { $articles = Article::with('category')->whereHas('category', function ($q) { $q->where('language_id', session('current_lang')->id); }); return $this->applyScopes($articles); }
/** * Get article data from 'LTF Talk' category to first page * @return mixed */ public function getLatestTalk() { $category = 'LTF Talk'; $talk = Article::with(['category', 'user'])->whereHas('category', function ($query) use($category) { $query->where('title', '=', $category); })->published()->orderBy('published_at', 'desc')->take(1)->get(); return $talk; }
/** * Define your route model bindings, pattern filters, etc. * * @param \Illuminate\Routing\Router $router * @return void */ public function boot(Router $router) { parent::boot($router); $router->model('article', 'LTF\\Article'); $router->bind('article_slug', function ($slug) { return Article::findBySlugOrFail($slug); }); $router->model('category', 'LTF\\Category'); $router->bind('category_slug', function ($slug) { return Category::findBySlugOrFail($slug); }); $router->model('language', 'LTF\\Language'); $router->model('page', 'LTF\\Page'); $router->bind('page_slug', function ($slug) { return Page::findBySlugOrFail($slug); }); $router->model('setting', 'LTF\\Setting'); $router->model('user', 'LTF\\User'); }