public function getList($catId) { $cat = ArticleCat::find($catId); //dump(ArticleCat::with('articles')->get()); $articleCat = ArticleCat::find($catId); $articles = Article::whereIn('cat_id', $articleCat->allCatIds())->paginate(10); return view('admin.articles.list')->with('articles', $articles); }
public function scopeRated($query, $course_id) { $course = Course::findBySlugOrId($course_id); $tasks = $course->tasks(); $tasksIds = $tasks->get(['id'])->toArray(['id']); $articlesTaskIds = array_flatten(Article::whereIn('task_id', array_flatten($tasksIds))->get(['id'])->toArray()); $articlesWithSomeRating = Article::whereExists(function ($query) { $query->select(DB::raw(1))->from('ratings')->whereRaw('articles.id = ratings.article_id')->where('ratings.text', '<>', ''); })->whereIn('articles.id', $articlesTaskIds)->get(['articles.id'])->toArray(); return $query->whereIn('id', array_flatten($articlesWithSomeRating)); }