我設計者試圖在這裏學到的編碼和Laravel是如此之大,它使設計像我一樣能夠創造自己的東西微笑用雄辯的工作,如何選擇熱門評論
關於我的問題,我接下來是一些教程,現在我學習構建簡單的博客系統。 因此,我有Post模型與Like模型有關係$this->morphMany('Like','likeable','likeable_type');
。 到目前爲止,一切正常。現在我希望能夠創建「熱門帖子」頁面,該頁面基本上顯示了受歡迎程度排序的帖子,這是我喜歡的數字。
的 '喜歡' 表中有這些領域id | likable_id | likeable_type
- 'likeable_type',在這種情況下,是 '後'
- 'likeable_id' 是的帖子ID鏈接到ID在 '帖子' 表
所以在我的控制器,我試過這個。
$popular_ids = DB::table('likes')
->select('likeable_id')
->groupBy('likeable_id')
->orderBy(DB::raw('COUNT(likeable_id)'), 'DESC')
->get();
$popular_posts = Post::whereIn('id',array_pluck($popular_ids,'likeable_id'))->paginate(15);
這給了我所有的熱門帖子,但不是我想要的順序。 我不確定是否有更好的方法來實現這個目標,或者似乎我只想念另一個'orderBy'方法?
對此有何建議?
ps。對不起,我的英文不好
謝謝你的時間分享你的答案Tharanga。我從來沒有聽說過FIELD!我今天學到了一些新東西。我修改了Collin答案中的代碼,它可以工作。 :) –