嘿傢伙我試圖開發一個查詢,從數據庫返回熱門的文章。制定一個趨勢查詢 - Laravel雄辯
熱門文章基於過去24小時內的最多瀏覽量。這是迄今爲止代碼:
$trending = Article::whereHas('view', function ($query) {
$query->where('created_at', '>=', Carbon::now()->subHours(24));
})
->with('view')
->orderBy('created_at', 'DESC')
->get();
return $trending;
}
文章模型有如下關係:
public function view()
{
return $this->hasMany('ArticleView', 'article_id');
}
查詢作品,但不知何故,我需要通過觀看計數的文章也進行排序。例如,顯示目前趨勢的文章,但與大多數觀點計數artticles不是從一階到最後(顯然 - 他們是由created_at訂購)
幫助表示讚賞
您是否有任何colomns存儲文章的視圖數量。如果你有,那麼你也可以將它包括在查詢中,再次使用orderBy('number_views','DESC') –
看起來他對於一篇文章中的每個視圖都有一行,因爲'one-to-many'關係。理想情況下,他應該對一個查詢中的視圖進行計數,並將後者與實際的文章查詢結合起來。 – Mysteryos
是的,我有一個article_views表,它存儲article_id,IP地址和created_at – Josh