티스토리 뷰

Laravel 에서 DB의 데이터 처리 시에 soft delete 옵션이 있다.

물리 적인 삭제가 아니라 논리적인 삭제 처리를 진행한다.

 

여기서는 owners 이라는 테이블을 예제로 정리한다.

 

migration 파일

public function up()
{
    Schema::create('owners', function (Blueprint $table) {
        $table->id();
        ...
        $table->softDeletes();
    });
}

 

softDeletes() 라는 메소드를 사용하고 있다.

 

Owner.php (Model 파일)

use Illuminate\Database\Eloquent\SoftDeletes;

use SoftDeletes;

 

OwnersController.php (컨트롤러 파일)

public function destroy($id)
{
    Owner::findOrFail($id)->delete(); // soft delete
}

 

soft delete 된 데이터 불러오기

$expiredOwners = Owner::onlyTrashed()->get();

 

soft delete 된 데이터 불러와서 물리 삭제하기

Owner::onlyTrashed()->findOrFail($id)->forceDelete();

 

'개발지식 > Laravel' 카테고리의 다른 글

Laravel 개발에서 vite 이용시 npm run dev에서의 적용이 안될 때  (0) 2024.09.29
Laravel Pagination  (0) 2024.02.13
Laravel Post등록과 Validation  (0) 2024.02.09
Laravel Carbon  (0) 2024.02.09
Laravel 데이터 취급 비교  (1) 2024.02.08