...但是如果有可能那么我可以反而使用Eloquent,但我确实认为我需要编写一个SQL问题。
我有一个用户表和一个点列。如果我确实想要一个顶级列表,那么我只是按点DESC排序(但是使用Eloquent和用户模型)。
关于如何找出任何用户的位置的问题?可能吗?或者我应该为顶级清单制作另一张桌子,请收到反馈并抱歉我的英语不好。
<?php
$toplist = User::orderBy('points', 'DESC')->get();
$me = Auth::user()->points;
$position = 1;
foreach($toplist as $user)
{
if ($user->id === $me)
{
break;
}
$position++;
}
dd($position);
答案 0 :(得分:0)
如何找出任何用户的位置?有可能吗?
您可以通过计数用户获得当前排名,这些用户的积分比您多,然后加一。
$me = Auth::user();
$rank = User::where('points', '>', $me->points)->count() + 1;