试图创建一个顶级Laravel。但它更多的是关于SQL

时间:2014-06-29 20:19:02

标签: php sql laravel laravel-4 eloquent

...但是如果有可能那么我可以反而使用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);

1 个答案:

答案 0 :(得分:0)

  

如何找出任何用户的位置?有可能吗?

您可以通过计数用户获得当前排名,这些用户的积分比您多,然后加一。

$me   = Auth::user();
$rank = User::where('points', '>', $me->points)->count() + 1;