Laravel如何按点获取当前用户位置

时间:2018-08-20 09:15:43

标签: php mysql laravel

我想知道如何通过用户点数获取当前用户位置?

示例:

User1 =积分:100 User2-点:150 User3-点数:360

因此,用户3将是第一个,用户2将是第二个,依此类推。

我吸引了所有用户:

{{ User::count() }}

用户表中有一个点行。

有什么例子或帮助吗?谢谢大家!

2 个答案:

答案 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();

如果您的用户具有相同的分数,则可以尝试按分数+行号进行分组。