Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir le rang de la ligne dans OrderBy desc Requête éloquente, Comment puis-je faire fonctionner cette requête dans laravel 5.5 éloquents?)

C'est ma solution.

J'ai d'abord ajouté cette fonction à ma classe modale utilisateur.

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

Maintenant, à mon avis, j'exécute ma fonction 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

J'utilise mes clés de tableau pour déterminer le classement des utilisateurs.