首页 > 解决方案 > 在两个给定日期之间获取数据不会返回任何内容

问题描述

如果当前日期和时间介于开始时间和结束时间之间,我正在尝试获取数据。这是我所做的:

$coupon = Coupons::where('start_datetime', '>=', Carbon\Carbon::now()->format('Y-m-d h:m:s'))
                        ->where('end_datetime', '<=', Carbon\Carbon::now()->format('Y-m-d h:m:s') )
                        ->paginate(6);

但是这个查询没有返回任何东西。我试图改变它,看看它的 SQL 查询,但一切都很好。在我的数据库中,我的start_datetimeend_datetime格式都是dateTime('0000-00-00 00:00:00')。我也尝试date('Y-m-d h:m:s')在 PHP 中使用该函数,但结果也是一样的。我怎么可能在我的查询中做到这一点?

标签: mysqldatetimeeloquent

解决方案


谢谢各位大神解答,我已经明白了。我的 DB 列使用 24 小时格式,而我的查询仅使用 12 小时格式。所以我刚刚Carbon\Carbon::now()->format('Y-m-d h:m:s')改为Carbon\Carbon::now()->format('Y-m-d H:m:s')


推荐阅读