我正在爲我的用戶製作耙系統,這裏是我到目前爲止:Laravel排序收集,然後按鍵
獲取所有用戶並按點排序 - 它工作正常。
$users = User::all();
$users = $users->sortByDesc(function($item){
return $item->points()->sum('amount');
});
找到你的位置排名 - 它工作得很好
$position = 0;
foreach($users as $user){
if(Auth::user()->id == $user->id) break;
$position++;
}
讓自己和用戶的上/下我 - 這是行不通的。我得到隨機用戶。它看起來像集合不再排序。
$myRank = new Collection();
if($position > 9){
$myRank->add($users->get($position-1));
$myRank->add($users->get($position));
$myRank->add($users->get($position+1));
return view('rank.show', ['topTen' => $users->take(15), 'myRank' => $myRank]);
}
請幫我這一個或給出另一種方法的一些提示(用於多條記錄重量輕)
我想你可以延長,則集合類調用ksort支持數組上。非常骯髒的黑客雖然 – peter