Frågan du gör är inte korrekt för användningsfallet, du kan se skillnaden.
select count(*) as aggregate from game_results
where (school_id is null and season_id = '1')
group by user_id order by user_id asc;
returnerar två rader
aggregate
1,
2
Veltalig väljer först och returnerar vilket är 1.
select count(*) as aggregate from game_results
where (school_id is null and season_id = '1')
group by user_id order by user_id desc;
returnerar rader som
agrregate
2,
1
Eloquent kommer att resultera 2 i detta fall.
Det du vill ha är antalet (fråga) som återigen blir 2.
Får det? det du vill ha är DISTINKT
$usersWithAnswersCount = GameResult::where([
'school_id' => null,
'season_id' => $this->season->id
])
->distinct('user_id')
->count();