Laravel - 软删除 - 将帖子移至其他 table
Laravel - soft delete - move posts to other table
是否可以与 Laravel 一起使用,它可以在其他相同的日志 table 中软删除项目?
其他 table.
中的所有软删除文件
我想在日志 table 事件调度程序 (http://dev.mysql.com/doc/refman/5.6/en/events-overview.html) 上创建一段时间后删除所有数据。
实现此目的的几种不同方法。如果您想将已删除的项目插入到另一个 table 中,请在您希望在删除事件时发生此操作的模型上注册一个 model listener:
MyModel::deleting(function($model) {
DeletedItems::create([
// Your model fields here
]);
});
--或--
如果你想在项目被软删除一段时间后真正从数据库中删除项目,我建议使用 Scheduled Task。由于软删除为您提供了一个时间戳,您可以在您的任务中引用它。
例如,以下将删除软删除超过一个月的所有模型:
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
MyModel::withTrashed()
->whereDate('deleted_at', '<', Carbon::today()->subMonth())
->forceDelete();
})->daily();
}
是否可以与 Laravel 一起使用,它可以在其他相同的日志 table 中软删除项目? 其他 table.
中的所有软删除文件我想在日志 table 事件调度程序 (http://dev.mysql.com/doc/refman/5.6/en/events-overview.html) 上创建一段时间后删除所有数据。
实现此目的的几种不同方法。如果您想将已删除的项目插入到另一个 table 中,请在您希望在删除事件时发生此操作的模型上注册一个 model listener:
MyModel::deleting(function($model) {
DeletedItems::create([
// Your model fields here
]);
});
--或--
如果你想在项目被软删除一段时间后真正从数据库中删除项目,我建议使用 Scheduled Task。由于软删除为您提供了一个时间戳,您可以在您的任务中引用它。
例如,以下将删除软删除超过一个月的所有模型:
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
MyModel::withTrashed()
->whereDate('deleted_at', '<', Carbon::today()->subMonth())
->forceDelete();
})->daily();
}