我想知道如何通过用户点数获取当前用户位置?
示例:
User1 =积分:100 User2-点:150 User3-点数:360
因此,用户3将是第一个,用户2将是第二个,依此类推。
我吸引了所有用户:
{{ User::count() }}
用户表中有一个点行。
有什么例子或帮助吗?谢谢大家!
答案 0 :(得分:1)
您可以使用laravel的查询生成器,如下所示。
DB::table('users')->orderBy('points', 'desc')->get()
答案 1 :(得分:0)
您可以按用户的分数排序。例如。 User :: query()-> orderBy('points','DESC')-> get();
编辑:
如果users表不是很大,您可以尝试为所有用户提供行号,然后按点搜索集合。
DB :: statement(DB :: raw('set @row:= 0')); $ users = User :: selectRaw('*,@row:= @ row + 1作为位置')-> orderBy('points','DESC')-> get();
$ points = 150; $ users_by_points = $ users-> where('points',$ points)-> values();
如果您的用户具有相同的分数,则可以尝试按分数+行号进行分组。