Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhận thứ hạng của hàng trong OrderBy desc Truy vấn hùng hồn, Làm cách nào để làm cho truy vấn này hoạt động trong laravel 5.5 eloquents?)

Đây là giải pháp của tôi.

Lần đầu tiên tôi thêm chức năng này vào Lớp phương thức người dùng của mình.

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

Bây giờ trong chế độ xem của tôi, tôi chạy hàm getRanking () của mình.

@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

Tôi đang sử dụng các khóa mảng của mình để xác định xếp hạng của người dùng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hệ thống thông báo sử dụng php và mysql

  2. lập chỉ mục một phần mysql, lập chỉ mục ngược

  3. Lưu trữ địa chỉ IPv6 trong MySQL

  4. Thủ tục lưu trữ trong SQL - biến quá ngắn

  5. ColdFusion:Tùy chọn ứng dụng dựa trên vai trò?