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]);
}
请帮我这个或给一些关于另一种方法的提示(许多记录的轻量级)