Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obtendo a classificação da linha em OrderBy desc Eloquent query, Como posso fazer essa consulta funcionar em laravel 5.5 eloquents?)


Esta é a minha solução.

Eu adicionei essa função pela primeira vez à minha classe modal de usuário.
public function getRanking(){
   $collection = collect(User::orderBy('wins', 'DESC')->get());
   $data       = $collection->where('id', $this->id);
   $value      = $data->keys()->first() + 1;
   return $value;
}

Agora na minha visão eu executo minha função getRanking().
@foreach($ranking as $key => $rankings)
    <tr>
        <td>{{ $rankings->getRanking() }}</td>
        <td><a href="{{ route('profileView', ['id' => $rankings->id]) }}">{{ $rankings->username }}</a></td>
        <td>{{ $rankings->wins }}</td>
        <td>{{ $rankings->losses }}</td>
    </tr>
@endforeach

Estou usando minhas chaves de matriz para determinar a classificação do usuário.