fix: 🐛 destroy models if it has been deleted for more than 30 days
This commit is contained in:
parent
0ebdcb56b6
commit
e213283d5f
2 changed files with 9 additions and 2 deletions
|
|
@ -16,6 +16,6 @@ class Kernel extends ConsoleKernel
|
|||
*/
|
||||
protected function schedule(Schedule $schedule): void
|
||||
{
|
||||
$schedule->job(CleanTrashModels::class)->monthly();
|
||||
$schedule->job(CleanTrashModels::class)->daily();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ namespace App\Jobs;
|
|||
|
||||
use App\Models\DynamicPage;
|
||||
use App\Models\PageConfig;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldBeUnique;
|
||||
|
|
@ -26,7 +27,13 @@ class CleanTrashModels implements ShouldQueue, ShouldBeUnique
|
|||
public function handle(): void
|
||||
{
|
||||
collect([DynamicPage::class, PageConfig::class])->map(function (string $class) {
|
||||
$class::onlyTrashed()->each(fn($model) => $model->forceDelete());
|
||||
$class::onlyTrashed()->each(function ($model) {
|
||||
// Delete model if it has been deleted for more than 30 days.
|
||||
$date = Carbon::now()->subDays(30);
|
||||
if ($model->deleted_at->lt($date)) {
|
||||
$model->forceDelete();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue