因此,我尝试只获取过去24小时、1周、1个月的数据。我有工作代码,但如果我正确获取,则为“其他方式”。我的意思是,如果日期为2016年11月30日,并且我将数据值设置为2016年12月1日,则24小时仍然获取信息,但它不应该。如果日期是2016年11月30日,而我将其设置为2016年11月28日,则24小时服务器无法获取它。对我来说,这听起来像是倒退。我希望解释是可以理解的。
$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();
3条答案
按热度按时间uajslkp61#
你写的是
created_at > time
。所以你让laravel搜索所有大于现在的数据(),所以你展望未来。
要么你想...
created_at < time
created_at > time
created_at > start && created_at < end
如果我没猜错的话,您正在搜索第三个选项,因此您需要执行类似
...->where("created_at",">",Carbon::now()->subDay())->where("created_at","<",Carbon::now())->...
的操作希望你在这里。
kuarbcqp2#
->where('created_at', '>=', Carbon::now()->subDay()->toDateTimeString())->get();
获取最近24小时内创建的数据
ldxq2e6h3#
检查以下功能;它工作得很好。