代碼基於我上一個問題上的Lvkz posted,它解決了我遇到的更大問題。不過,我需要幫助找到一種方法來避免重複和錯誤的數字序列。根據展示位置移動用戶排名表
$winner_ranking = $winner->getRankings()->where('ranklist_id', $ranklist_id)->first();
$loser_ranking = $loser->getRankings()->where('ranklist_id', $ranklist_id)->first();
if ($winner_ranking->placement > $loser_ranking->placement) {
$rankings = ClubRanking::where('placement', '>', $loser_ranking->placement)
->where('ranklist_id', '=', $ranklist_id)
->increment('placement', 2);
$winner_ranking->placement = $loser_ranking->placement;
$winner_ranking->save();
$loser_ranking->placement = $loser_ranking->placement + 1;
$loser_ranking->save();
}
用戶A =放置:1個
用戶B =放置:2
如果用戶B戰勝用戶A則數字序列將如下所示
用戶B =放置:1個
用戶A =放置:2
用戶C =放置:4
用戶d =放置:5
用戶E =安置:6
另外一個快速的注意,問題仍然持續但以不同的方式,如果我是到增量更改爲1,而不是2
什麼是$ ranklist_id? –
$ ranklist_id是一個GET路由參數,所以本質上它只是我們想要更改內容的排名列表的ID。 (澄清:有幾個ranklists。) – Classified