首页 > 解决方案 > 为什么表中的数据不显示?

问题描述

我使用 laravel,数据库中的最大值应该显示在我的块中。以前,一切正常,数据显示为最新,但现在由于某种原因数据未显示。

我的控制器带显示功能:

    public function bust()
    {
        parent::setTitle('Crash game | ');
        $users = User::count();

$max_x = DB::table('bust_history')->where('created_at', '>=', Carbon::today())->max('bust_number');



        return view('pages.crash', compact('users','max_x'));
    }

我的视图文件:

<div class="header">
            <div> Max X </div>
            <div class="help"> <small>for last 24 hours</small> </div>
        </div>
        <div class="body ">
            <div style="color:#48B3CD;font-size:45px;position:center;">{{$max_x}}x</div>
        </div>

这是我的数据库的截图

以及网站上显示的内容的屏幕截图: 这里

谁能告诉我,可能是什么问题?

标签: databaselaravel

解决方案


[编辑]

您可以在下面和评论中看到整个调试过程。正确的答案,错误的原因,是bust_number列的类型。这是一种VARCHAR类型,在尝试获取最大值时会导致错误的结果。将其更改为FLOATDOUBLE修复了该问题,因为这些类型可以由 MySql 作为数字而不是字符串进行操作。


很难给出答案,因为这可能是由很多原因引起的,但以下是您的问题的常见原因:

  • 您使用了错误的数据库或表为空。请仔细检查
DB::table('bust_history')->pluck('bust_number');

为您提供您期望的数据。

  • PHP 或 Carbon 配置存在问题,并且Carbon::today();在今天并不是真的(正如我正在写的那样2020-01-09 00:00:00)。如果是对的,是否
DB::table('bust_history')->where('created_at', '>=', Carbon::today())->pluck('bust_number');

给你一个清单bust_number

如果问题仍然存在,并且您在这些检查后提供了更多详细信息,我可以编辑我的答案以检查更多内容。但是根据我的经验,您应该检查似乎太明显而无法检查的内容。在某些时候,你会发现一些不正常的东西。

此外,甚至不要使用您的视图,就dd($max_x);在查询之后,这样您就可以确定没有任何东西会干扰您的结果。


推荐阅读