>  기사  >  PHP 프레임워크  >  Laravel에서 만료된 삭제를 구현하는 방법

Laravel에서 만료된 삭제를 구현하는 방법

PHPz
PHPz원래의
2023-04-23 09:12:41602검색

웹사이트나 애플리케이션이 발전함에 따라 데이터의 양은 점점 더 많아지고, 데이터 처리 속도는 점점 느려집니다. 또한 만료된 데이터가 너무 많으면 공간을 많이 차지하므로 데이터베이스 성능이 저하되고 웹 사이트나 애플리케이션이 느려질 수 있습니다. 따라서 만료된 데이터를 정기적으로 삭제하는 것이 매우 중요하고 필요합니다. Laravel 프레임워크에서는 Laravel의 만료 삭제 기능을 사용하여 이 문제를 해결할 수 있습니다.

Laravel의 만료된 삭제 기능은 매우 강력하여 수동 개입 없이 만료된 데이터를 자동으로 삭제할 수 있습니다. 이를 통해 데이터베이스를 보다 효율적으로 실행하고 웹 사이트 또는 애플리케이션의 성능을 최적화할 수 있습니다. 라라벨의 만료 삭제 기능을 자세히 살펴보겠습니다.

Laravel의 만료 삭제 기능에는 주로 예약된 만료 시간 삭제와 자동 만료 시간 업데이트의 두 가지 측면이 포함됩니다. 아래에서는 각각 이 두 가지 측면을 소개합니다:

  1. 예약된 만료 삭제
    Laravel에서는 예약된 작업을 사용하여 만료된 데이터를 자동으로 삭제할 수 있습니다. 예약된 작업은 Laravel의 작업 스케줄러에서 구성할 수 있습니다. 예를 들어, 7일보다 오래된 데이터를 자동으로 삭제하려면 Laravel 콘솔에 다음 명령을 입력하면 됩니다:
php artisan schedule:run

그런 다음 Laravel의 작업 스케줄러에서 예약된 작업을 정의해야 합니다. 구체적인 단계는 다음과 같습니다.

①app/Console/Kernel.php 파일을 엽니다.
②일정 기능에 다음 코드를 추가합니다.

$schedule->call(function () {
    DB::table('table_name')->where('created_at', '<&#39;, Carbon::now()->subDays(7))->delete();
})->daily();

이 코드 줄의 기능은 다음과 같습니다. 0시에 작업을 실행합니다. 매일 삭제하고 7일 전에 삭제하는 데이터입니다. 그 중 table_name은 데이터를 삭제하려는 테이블의 이름이다. Carbon은 날짜와 시간을 보다 편리하게 조작할 수 있는 날짜 및 시간 라이브러리입니다. 이 작업은 매일 0시에 한 번씩 실행되며, 7일이 지난 데이터는 모두 자동으로 삭제됩니다.

  1. 만료 시간 자동 업데이트
    만료된 데이터를 자동으로 삭제하는 것 외에도 Laravel은 만료 시간을 자동으로 업데이트할 수도 있습니다. 예를 들어, 우리 앱에는 멤버십 기능이 있으며, 각 회원의 멤버십 기간은 30일입니다. 회원기간이 만료되는 경우, 회원이 계속 서비스를 이용할 수 있도록 시스템이 자동으로 회원기간을 갱신할 수 있기를 바랍니다.

Laravel은 만료 시간을 자동으로 쉽게 업데이트할 수 있는 시간을 조작할 수 있는 Carbon 라이브러리를 제공합니다. 구체적인 단계는 다음과 같습니다.

① 앱/모델 폴더를 엽니다.
② 만료 시간과 함께 자동으로 업데이트할 모델 파일을 찾습니다.
③ 모델의 $dates 속성에 자동으로 업데이트할 날짜 필드를 추가합니다.

protected $dates = ['expired_at'];
예를 들어, 멤버 모델에서 다음과 같이 작성할 수 있습니다:

protected $dates = ['expire_time'];
이런 방식으로 우리는 $dates 속성을 생성하여 이 모델에 Carbon 클래스를 사용하여 관리해야 하는 datetime 유형의 만료_시간 필드가 있음을 Laravel에 알립니다. 수업.

4모델 파일을 열고 다음 코드를 사용하여 만료 시간을 업데이트합니다.

public function updateExpiredTime()
{
    $this->expired_at = Carbon::now()->addDays(30);
    $this->save();
}
이 메서드에서는 Carbon 클래스의 addDay() 메서드를 사용하여 만료 시간을 30일 늘립니다. 다음으로 만료 시간을 모델에 저장하여 자동으로 업데이트되도록 합니다. 이러한 방식으로 만료 시간 자동 업데이트를 성공적으로 구현했습니다.

간단히 말하면 Laravel의 만료된 삭제 기능은 매우 강력하며 만료된 데이터를 자동으로 삭제하여 데이터베이스 성능과 웹 사이트 또는 애플리케이션 응답 속도를 향상시킬 수 있습니다. 동시에 만료 시간을 자동으로 업데이트하여 만료 시간 처리를 제어할 수도 있습니다. 이상은 본 글에서 라라벨의 만료 삭제 기능에 대해 자세히 설명한 내용으로, 라라벨을 활용하여 데이터를 처리하는 데 도움이 되기를 바랍니다.

위 내용은 Laravel에서 만료된 삭제를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.