本文整理汇总了PHP中app\models\Article::whereNotExists方法的典型用法代码示例。如果您正苦于以下问题:PHP Article::whereNotExists方法的具体用法?PHP Article::whereNotExists怎么用?PHP Article::whereNotExists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\models\Article
的用法示例。
在下文中一共展示了Article::whereNotExists方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: scopeUnrated
public function scopeUnrated($query, $course_id = null)
{
$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());
$articlesWithoutAnyRating = Article::whereNotExists(function ($query) {
$query->select(DB::raw(1))->from('ratings')->whereRaw('articles.id = ratings.article_id');
})->whereIn('articles.id', $articlesTaskIds)->get(['articles.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();
$articles = array_collapse([array_flatten($articlesWithoutAnyRating), array_flatten($articlesWithSomeRating)]);
return $query->whereIn('id', $articles);
}