laravel如何通过点获取当前用户位置

chy5wohz  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(317)

我想知道如何通过用户点获得当前用户位置?
例子:
用户1=点数:100用户2-点数:150用户3-点数:360
所以用户3将是第一个,用户2将是第二个,等等。
我通过以下方式获取所有用户:

{{ User::count() }}

用户表有一个点行。
有什么例子或帮助吗?谢谢你们!

qoefvg9y

qoefvg9y1#

您可以按用户的点排序。例如user::query()->orderby('points','desc')->get();
编辑:
如果用户表不是那么大,您可以尝试获取具有行号的所有用户,然后按点在集合中搜索。
db::语句(db::raw('set@row:=0'))$users=user::selectraw('*@row:=@row+1 as position')->orderby('points','desc')->get();
$点=150$users_by_points=$users->where('points',$points)->values();
如果用户的点数相同,可以尝试按点数+行号分组。

bq8i3lrv

bq8i3lrv2#

您可以像下面这样使用laravel的查询生成器。 DB::table('users')->orderBy('points', 'desc')->get()

相关问题