我正在使用 Laravel 5.0,我正在尝试删除 created_at
早于 3 小时的表中的所有行。
如何使用 Carbon 检查 created_at
的年龄?
$time = Carbon::now()->subHour(3);
$photos = Photos::where('created_at','<=',$time);
if($photos){
echo 'older then 3 hours';
}else
echo 'not older then 3 hours';
}
此代码始终回显“早于 3 小时”,即使我更改了 MySql 表中的'created_at 日期。
我做错了什么?
最佳答案
你有两个问题:
- 您实际上并没有获取结果 (
->get()
) $photos
是一个始终计算为true
的 Collection 对象,即使它是一个空集合也是如此。
解决方案
$time = Carbon::now()->subHour(3);
$photos = Photos::where('created_at','<=',$time)->get();
if($photos->count()){
echo 'older than 3 hours';
} else {
echo 'not older than 3 hours';
}
关于php - 如何检查行早于 2 小时 Carbon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047212/