【发布时间】:2018-08-20 09:15:42
【问题描述】:
我想知道如何通过用户点获取当前用户位置?
例子:
用户 1 = 点数:100 用户 2 - 点数:150 用户 3 - 点数:360
所以用户 3 将是第一个,用户 2 第二个等等。
我通过以下方式获取所有用户:
{{ User::count() }}
用户表有一个点行。
任何示例或帮助?谢谢大家!
【问题讨论】:
我想知道如何通过用户点获取当前用户位置?
例子:
用户 1 = 点数:100 用户 2 - 点数:150 用户 3 - 点数:360
所以用户 3 将是第一个,用户 2 第二个等等。
我通过以下方式获取所有用户:
{{ User::count() }}
用户表有一个点行。
任何示例或帮助?谢谢大家!
【问题讨论】:
你可以像下面这样使用 laravel 的查询生成器。
DB::table('users')->orderBy('points', 'desc')->get()
【讨论】:
您可以按用户的积分排序。例如。 User::query()->orderBy('points','DESC')->get();
编辑:
如果用户表不是那么大,你可以尝试获取所有具有行号的用户,然后按点在集合中搜索。
DB::statement(DB::raw('set @row:=0')); $users = User::selectRaw('*, @row:=@row+1 as position')->orderBy('points','DESC')->get();
$points = 150; $users_by_points = $users->where('points',$points)->values();
如果你有相同点的用户,你可以尝试按点+行号分组。
【讨论】: