sql >> Base de Datos >  >> RDS >> Mysql

Obtener rango de fila en OrderBy desc Eloquent query, ¿Cómo puedo hacer que esta consulta funcione en laravel 5.5 eloquents?)

Esta es mi solución.

Primero agregué esta función a mi clase modal de usuario.

public function getRanking(){
   $collection = collect(User::orderBy('wins', 'DESC')->get());
   $data       = $collection->where('id', $this->id);
   $value      = $data->keys()->first() + 1;
   return $value;
}

Ahora, en mi opinión, ejecuto mi función 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

Estoy usando mis claves de matriz para determinar la clasificación del usuario.