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

Posted

技术标签:

【中文标题】试图创建一个*** Laravel。但更多的是关于 SQL【英文标题】:Trying to create a toplist Laravel. But it's more about SQL 【发布时间】:2014-06-29 20:19:01 【问题描述】:

...但是如果可能的话,我可以用 Eloquent 代替,但我确实认为对于这个问题我需要编写一个 SQL 问题。

我有一个 users 表和一个 points 列。如果我确实想要一个***列表,那么我只需按点 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);

【问题讨论】:

嗨,欢迎来到 ***。我们很乐意提供帮助,但我们希望您先付出更多努力。你能发布一个你已经尝试过的样本吗?你的数据库是什么样的?您是否尝试过浏览文档?如果你能回答这些问题,我相信你很快就会得到帮助! 我认为这行代码会获得当前用户在 toplist 中的位置,但是没有......我想要更干净的东西。不要认为这甚至行得通。 code pastie 获取数据后,您已经拥有该字段。试试print_r $results 【参考方案1】:

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

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

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

【讨论】:

以上是关于试图创建一个*** Laravel。但更多的是关于 SQL的主要内容,如果未能解决你的问题,请参考以下文章

试图让电子邮件在 Laravel 5 中工作

登录或在网站上注册后的空白页面。 Laravel 问题

我试图运行一个现有的 laravel 项目。但是在作曲家更新期间,我收到了这个错误:

Laravel 8,创建一个查询构建器并逐步向其中添加更多查询,如何逐步回滚?

如何在Laravel中的find()方法中指定两个或更多条件?

为 Laravel 7 安装和配置 PhpRedis