Mysql groupBy保留单个条目
我正在制作一个记分系统,我试图将分数分组,然后循环通过它们,这样如果你打成平局,你就会得到相同的分数。例如:Mysql groupBy保留单个条目,mysql,laravel,Mysql,Laravel,我正在制作一个记分系统,我试图将分数分组,然后循环通过它们,这样如果你打成平局,你就会得到相同的分数。例如: score = 100 score = 100 score = 90 前两个分数应排在第一位,第三个分数应排在第二位 所以我试过了 $submissions = Submission::where([ ['league_id', $league->id ],
score = 100
score = 100
score = 90
前两个分数应排在第一位,第三个分数应排在第二位
所以我试过了
$submissions = Submission::where([
['league_id', $league->id ],
['challenge_id', $challenge->id]
])
->orderBy('class', 'desc')
->orderBy('user_score', 'asc')
->groupBy('user_score')
->get();
然后我循环:
if( count($submissions) > 0 )
{
foreach ( $submissions as $index => $submission_group ) {
if( count($submission_group) > 0 ){
foreach ( $submission_group as $i => $submission {
$submission->points = $i+ 1;
$submission->save();
}
}
}
}
问题是,$submissions
返回一个包含2个条目的数组(仅针对第一个和第三个条目)。我想它会返回2个数组。像这样:
[
submission[],
submission[],
],
[
submission[],
]
如果我删除groupBy,我将获得所有3个条目。它似乎将两个100分合并为一个条目,将90分合并为另一个条目我不确定它是否相关,但我认为
groupBy()
方法应该在get()
方法之后使用。我不确定它是否相关,但我认为groupBy()方法应该在get()之后使用方法.@AH.Pooladvand如果你这样回答我会接受的。我知道这是订单上的错误。