如何删除created_at或updated_at字段超过60分钟的数据库中的所有Eloquent记录? (或示例的任何时间)
编辑:发布的解决方案作为@Alexxus建议的答案
答案 0 :(得分:3)
Laravel在Carbon日期类中有一个内置版本,可以为您解决所有时区问题。
示例:
$date = Carbon::now()->subMinutes( 60 );
MyModel::where( 'updated_at', '<=', $date )->delete();
答案 1 :(得分:2)
已解决->使用ceejayoz的链接
我正在使用以下代码:
$date = new DateTime;
$date->modify('-60 minutes');
$formatted = $date->format('Y-m-d H:i:s');
MyModel::where('updated_at', '<=', $formatted)->delete();
谢谢ceejayoz!