Laravel是否可以工作,它可以在其他相同的日志表中包含软删除的项目?其他表中所有软删除的文件。
我想在日志表上创建事件调度程序(http://dev.mysql.com/doc/refman/5.6/en/events-overview.html),以便在一段时间后删除所有数据。
有几种不同的方法可以做到这一点。如果要将插入的项目插入另一个表中,请在希望对删除事件进行此操作的模型上注册一个模型侦听器:
MyModel::deleting(function($model) {
DeletedItems::create([
// Your model fields here
]);
});
- 或者 -
如果您想在一段时间后从软删除中实际将它们从数据库中删除,我建议您使用计划任务。由于软删除为您提供了时间戳,因此您可以在任务中引用它。
例如,以下内容将删除所有已被软删除一个多月的模型:
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
MyModel::withTrashed()
->whereDate('deleted_at', '<', Carbon::today()->subMonth())
->forceDelete();
})->daily();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句