Laravel搜索当前的排名位置

时间:2015-12-04 09:50:23

标签: php mysql laravel

这是我的查询: 假设user_id为1

$current_exp = Experience::where('user_id', $this->user_id)->value('total_experience');`

$current_rank = Experience::where('total_experience', '>' ,$current_exp)->count() + 1;

我当前的表格:

------------------------------------------------
| user_id  |   total_experience |  game_id     |
+----------+--------------------+--------------+
| 4        | 232319             |1             |  
| 1        | 232319             |1             |
| 3        | 100000             |1             |
| 2        | 231111             |1             |
| 5        | 12345              |1             |
+----------+--------------------+--------------+

问题在于我当前的查询我得到了user_id 1的结果 rank 1我试图将其排名为2而不是1.

我已尝试将>更改为>=,但它变为3

如何获得排名2的结果?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

$current_rank = Experience::where('user_id', '!=', $this->user_id)->where('total_experience', '>=' ,$current_exp)->count() + 1;