我有一個ranking
模塊,其中用戶可以搜索的其他用戶。結果顯示在一個表格中,對於每個結果我也想顯示用戶當前的排名位置。因此,例如,對於dav
搜索時,結果可能是:計算用戶排名
-- Position -- Points -- Name --
30 2345 Dave
105 1650 Davy
965 895 Superdavy
1949 35 Dave123
我的問題是:什麼是計算位置的最佳方法是什麼?頭寸是通過points
訂購用戶計算的。我可以得到所有的用戶
$results = User::where('name', 'LIKE', "%$query%")->orderBy('points')->paginate(25);
但我應該遍歷結果和查詢數據庫中的每個用戶來計算排名的位置?還是有更簡單的方法?因爲,如果搜索中包含50個結果,有人在幾秒鐘內進行多次搜索,很多數據庫的查詢被解僱......
請出示其中存儲的排名號碼或你怎麼計算。 –
哎呀,對不起,我更新了答案 – Jordy
不是位置列是多餘的嗎? –