这是我的查询: 假设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的结果?
答案 0 :(得分:1)
你可以这样做:
$current_rank = Experience::where('user_id', '!=', $this->user_id)->where('total_experience', '>=' ,$current_exp)->count() + 1;