Mysql
 sql >> Database >  >> RDS >> Mysql

Ottenere il rango di riga in OrderBy desc Query eloquente, come posso far funzionare questa query in laravel 5.5 eloquents?)

Questa è la mia soluzione.

Per prima cosa ho aggiunto questa funzione alla mia classe modale utente.

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

Ora, a mio avviso, eseguo la mia funzione 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

Sto usando le mie chiavi dell'array per determinare il ranking dell'utente.