多数据排序系统
Ranking system for multiple data
大家好,我正在实施自行车排名系统,我想计算骑手在其他人中的排名,这是我的示例table:
结果table
id rider_id point
1 2 100
2 2 50
3 5 200
4 5 60
我怎样才能根据每个骑手的总分获得他们的 POSITION
我试过这段代码,但无法获得索引作为位置!
$result=Result::orderBy('point', 'desc')->get();
$Rider=$result-> groupBy('rider_id')
->map(function ($row) {
return $row->sum('point');
});
上面的代码给出了这个输出:
{
"5":260,
"1":150
}
好的,那位置呢?我需要我认为的索引? rider_id 1 的排名是多少?
我想我是通过一个复杂的代码弄明白的!
我将结果转换为 Array() 并应用此代码:
array_search($id, array_keys($user)) + 1 ;
我很确定这不是 Laravel 优化代码
我想我会用得更好 collection 喜欢 SEARCH !
任何想法!
大家好,我正在实施自行车排名系统,我想计算骑手在其他人中的排名,这是我的示例table:
结果table
id rider_id point
1 2 100
2 2 50
3 5 200
4 5 60
我怎样才能根据每个骑手的总分获得他们的 POSITION 我试过这段代码,但无法获得索引作为位置!
$result=Result::orderBy('point', 'desc')->get();
$Rider=$result-> groupBy('rider_id')
->map(function ($row) {
return $row->sum('point');
});
上面的代码给出了这个输出:
{
"5":260,
"1":150
}
好的,那位置呢?我需要我认为的索引? rider_id 1 的排名是多少?
我想我是通过一个复杂的代码弄明白的! 我将结果转换为 Array() 并应用此代码:
array_search($id, array_keys($user)) + 1 ;
我很确定这不是 Laravel 优化代码 我想我会用得更好 collection 喜欢 SEARCH ! 任何想法!