Laravel - 获取过去 24 小时、1 周或 1 个月的数据

Pet*_*ans 0 php laravel laravel-5

所以我试图只获取过去 24 小时、1 周、1 个月内的数据。我有工作代码,但如果我正确理解,那就是“其他方式”。我的意思是,如果日期是 2016 年 11 月 30 日,并且我将数据值设置为 1-Dec-2016,那么 24 小时仍然会获取信息,但它不应该。如果日期是 30-Nov-2016 并且我将它设置为 28-Nov-2016,那么 24 Hour 不会抓住它。对我来说这听起来像是倒退了。我希望解释是可以理解的。

$getItemsOneDay = Deposit::where('steam_user_id',0)->where('status', Deposit::STATUS_ACTIVE)->where('created_at', '>', Carbon::now()->subMinutes(1440))->get();
$getItemsOneWeek = Deposit::where('steam_user_id',0)->where('status', Deposit::STATUS_ACTIVE)->where('created_at', '>', Carbon::now()->subMinutes(10080))->get();
$getItemsOneMonth = Deposit::where('steam_user_id',0)->where('status', Deposit::STATUS_ACTIVE)->where('created_at', '>', Carbon::now()->subMinutes(43200))->get();
Run Code Online (Sandbox Code Playgroud)

小智 9

你写的created_at > time

所以你要求 laravel 搜索所有大于 now() 的数据。所以你展望未来。

要么你想...

  • 查看某个时间点之前的点: created_at < time

  • 查看某个时间点之后的点数: created_at > time

  • 在经过的时间间隔内查看点: created_at > start && created_at < end

如果我猜对了,您正在寻找第三个选项。所以你需要做类似的事情...->where("created_at",">",Carbon::now()->subDay())->where("created_at","<",Carbon::now())->...

希望我能把你弄到这里。