programing

Larabel - 임시 삭제 - 투고를 다른 테이블로 이동

copyandpastes 2022. 10. 1. 21:35
반응형

Larabel - 임시 삭제 - 투고를 다른 테이블로 이동

다른 동일한 로그 테이블에 소프트 삭제 아이템을 넣을 수 있는 Laravel 작업이 가능합니까?다른 테이블의 모든 임시 삭제된 파일.

로그 테이블에 이벤트 스케줄러(http://dev.mysql.com/doc/refman/5.6/en/events-overview.html)를 생성하여 잠시 후 모든 데이터를 삭제합니다.

이것을 실현하기 위한 몇 가지 다른 방법.삭제된 항목을 다른 테이블에 삽입하려면 삭제 이벤트에서 이 작업을 수행할 모델에 모델 청취자를 등록하십시오.

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();
}

언급URL : https://stackoverflow.com/questions/41381457/laravel-soft-delete-move-posts-to-other-table

반응형