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

Laravel-软删除-将帖子移动到其他表,laravel,mariadb,delete-row,Laravel,Mariadb,Delete Row,是否可以与Laravel一起工作,使其在其他相同的日志表中具有软删除项? 其他表中的所有软删除文件 我希望在日志表上创建事件调度器()以在一段时间后删除所有数据。有几种不同的方法可以实现这一点。如果要将已删除的项目插入到另一个表中,请在要在删除事件中执行此操作的模型上注册: MyModel::deleting(function($model) { DeletedItems::create([ // Your model fields here ]); }); -

是否可以与Laravel一起工作,使其在其他相同的日志表中具有软删除项? 其他表中的所有软删除文件


我希望在日志表上创建事件调度器()以在一段时间后删除所有数据。

有几种不同的方法可以实现这一点。如果要将已删除的项目插入到另一个表中,请在要在删除事件中执行此操作的模型上注册:

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();
}
受保护功能计划(计划$schedule)
{
$schedule->call(函数(){
MyModel::withTrashed()

->何地('deleted_at','Laravel无法立即完成此操作,但自己编写此操作并不困难。第二种解决方案看起来非常不错,但出于某些统计目的,移动到其他数据库也可以。只需从第一种数据库中删除数据并将数据放入统计页面。第一种解决方案似乎适合于日志记录,我正在考虑。为什么不这样做呢oth?在任务中,代替模型观察者,创建逻辑,首先将要删除的记录插入到另一个表中,然后删除它们。