【发布时间】:2019-10-08 20:21:00
【问题描述】:
我希望能够根据我使用以下查询解决的评分来订购我的文章:
return Article::where('private', 0)
->whereIn('movie_id', $movie)
->with(['user', 'movie', 'ratings'])
->withCount(['ratings as average' => function ($query) {
$query->select(\DB::raw('coalesce(avg(value), 0)'));
}])
->orderByDesc('average')
->paginate(10);
但问题是,如果一篇文章只有 1 或 2 个评分/投票,并且它们都是正面评分,那么该文章将与其他具有更多评分/投票的顶级文章一起排名,这会给出不准确的结果。我如何将其限制为仅获得超过 5 票的文章?还有其他更好的解决方案吗?
【问题讨论】: