sql >> データベース >  >> RDS >> Mysql

OrderBy desc Eloquentクエリで行のランクを取得しています。laravel5.5eloquentでこのクエリを機能させるにはどうすればよいですか?)

    これが私の解決策です。

    この関数を最初にユーザーモーダルクラスに追加しました。

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

    私の見解では、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
    

    アレイキーを使用してユーザーランキングを決定しています。



    1. MySQLを使用したselectクエリでCASE、WHEN、THEN、ENDを使用する

    2. すべての行のテキストを検索して置換するSQLクエリ

    3. 指定された次元のすべての長方形のマトリックスを検索します(座席のブロックを選択します)

    4. 現在の日付と時刻に最も近い結果を表示する(MySQLとPHP)