我有一个名为例如" posts"的表。 我需要的是自动从数据库中删除一个未更新1周的特定帖子记录。 实现它的最佳方法是什么?
答案 0 :(得分:0)
查看队列 - https://laravel.com/docs/5.5/queues
您将每小时生成一个作业(例如),检查是否有任何updated_at
时间戳大于一周的帖子。循环遍历这些并删除。
示例:
$stale_posts = Posts::where('updated_at', '<', Carbon::now()->subDays(7))->get();
foreach ($stale_posts as $post) {
$post->delete();
}