我有评论的文章。我想根据7天内收到的评论在我的主页上发布5个热门项目。用Laravel可以做到这一点吗?我根本不知道如何处理查询构建器。
我在每条评论中都有一篇文章_id。
$mostPopular = Article::published()->whereHas('comments', function ($query){
$query->count();
})->orderBy($query, 'ASC');
谢谢你!
答案 0 :(得分:2)
未经测试,但应满足您的条件。如果您有任何问题,请告诉我。
$popularArticles = Article::published()
->whereHas('comments')
->withCount('comments')
->where('created_at', '>', \Carbon\Carbon::now()->subWeek())
->orderBy('comments_count', 'DESC')
->take(5)
->get();