Laravel-软删除-将帖子移到其他表格

最伟大的

Laravel是否可以工作,它可以在其他相同的日志表中包含软删除的项目?其他表中所有软删除的文件。

我想在日志表上创建事件调度程序(http://dev.mysql.com/doc/refman/5.6/en/events-overview.html),以便在一段时间后删除所有数据。

埃里克·塔克(Eric Tucker)

有几种不同的方法可以做到这一点。如果要将插入的项目插入另一个表中,请在希望对删除事件进行此操作模型注册一个模型侦听器

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章