database - 为什么表中的数据不显示?
问题描述
我使用 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>
以及网站上显示的内容的屏幕截图: 这里
谁能告诉我,可能是什么问题?
解决方案
[编辑]
您可以在下面和评论中看到整个调试过程。正确的答案,错误的原因,是bust_number
列的类型。这是一种VARCHAR
类型,在尝试获取最大值时会导致错误的结果。将其更改为FLOAT
或DOUBLE
修复了该问题,因为这些类型可以由 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);
在查询之后,这样您就可以确定没有任何东西会干扰您的结果。
推荐阅读
- graphql - GraphQL 建模:具有可变键的关联数组
- hadoop - Nutch FetchData 作业太慢
- typescript - 如何将事件监听器添加到 Figma currentPage
- spring-security - Spring Cloud oauth2 启用撤销令牌端点
- javascript - 如何使用 React 钩子将文件对象设置为状态?
- java - 启动活动时,应用程序可能在其主线程上做太多工作
- spring-boot - 如何将布尔值设置为 JSP 变量并在 .tag 类中对其进行验证
- kentico - kentico 上的全屏覆盖
- c - 如何为覆盆子创建 float64x2_t 类型?
- javascript - 防止将类 .cke_show_borders 添加到 ckeditor 中的表格元素