Laravel은 웹 개발 분야의 광범위한 애플리케이션을 갖춘 강력한 PHP 프레임워크입니다. 그중에서도 리소스 라우팅은 Laravel의 매우 중요한 개념 중 하나이며, 이는 RESTful API를 빠르게 구축하는 데 도움이 됩니다. 리소스 라우팅을 사용하는 과정에서 삭제 작업은 매우 흔한 일이므로, 이번 글에서는 라라벨 리소스 라우팅의 삭제 작업을 주로 소개합니다.
1. 리소스 라우팅 소개
Laravel에서는 Route::resource 메소드를 통해 리소스 라우팅을 정의할 수 있습니다. 이 방법은 일반적으로 사용되는 7가지 라우팅 작업 방법(인덱스, 생성, 저장, 표시, 편집, 업데이트 및 삭제)을 자동으로 정의합니다.
예를 들어, 다음 코드를 통해 간단한 리소스 경로를 정의할 수 있습니다:
Route::resource('posts', 'PostController');
이러한 방식으로 Laravel은 자동으로 /posts, /posts/create, /posts/{post}, /posts/{post}/를 생성합니다. 우리를 위해 편집하세요. 7개의 경로를 기다리세요.
2. 삭제 작업
리소스 라우팅에서 삭제 작업은 파괴 방법에 해당합니다. 사용자가 웹 애플리케이션에서 삭제 버튼을 클릭하면 DELETE 요청을 생성해야 하며 Laravel은 작업을 완료하기 위해 destroy 메소드를 호출합니다.
destroy 메소드에 대한 경로를 정의해야 합니다. 예:
Route::delete('posts/{post}', 'PostController@destroy')->name('posts.destroy');
이 경로는 DELETE 요청 및 /posts/{post} 경로와 일치하고 요청을 destroy 메소드로 전달합니다. PostController의
컨트롤러에서는 삭제 작업에 해당하는 엔터티 객체를 가져와서 삭제 메소드를 호출하여 데이터베이스에서 삭제해야 합니다. 예:
public function destroy($id) { $post = Post::find($id); $post->delete(); return redirect()->route('posts.index'); }
여기에서는 먼저 Post::find 메서드를 사용하여 삭제할 엔터티 개체를 찾은 다음 삭제 메서드를 사용하여 데이터베이스에서 삭제합니다. 마지막으로 리디렉션 방법을 사용하여 사용자를 게시물 목록 페이지로 리디렉션합니다.
HTML 양식에서 삭제 버튼에 대한 양식을 생성하고 해당 양식에 숨겨진 필드 _method를 추가하여 이것이 DELETE 요청임을 나타내야 합니다.
예를 들어 다음 코드를 사용하여 삭제 버튼을 생성할 수 있습니다.
<form action="{{ route('posts.destroy', $post->id) }}" method="POST"> {{ csrf_field() }} {{ method_field('DELETE') }} <button type="submit">删除</button> </form>
여기에서는 매개변수가 있는 /posts/{post} 경로를 생성하기 위해 경로 메소드를 사용하고 양식의 메소드 속성을 DELETE로 설정합니다. . 그런 다음 csrf_field 메서드를 사용하여 CSRF 토큰을 생성하고 method_field 메서드를 사용하여 _method 필드를 생성합니다.
마지막으로 경로를 정의할 때 destroy 메소드에 대해 이름이 붙은 경로 이름인 post.destroy를 설정할 수 있습니다. 이 이름은 삭제 작업이 완료된 후 URL을 더 쉽게 생성하고 페이지로 리디렉션하는 데 도움이 됩니다.
예를 들어 다음 코드를 사용하여 리디렉션 응답을 생성할 수 있습니다.
return redirect()->route('posts.index');
여기에서는 Route 메소드를 사용하고 post.index 매개변수를 전달하여 post.index 경로를 생성함으로써 사용자를 게시물로 리디렉션합니다. 목록 페이지.
3. 요약
위 단계를 통해 Laravel에서 리소스 라우팅 삭제 작업을 쉽게 구현할 수 있습니다. 사용자가 웹 애플리케이션에서 삭제 버튼을 클릭하면 Laravel은 DELETE 요청을 생성하고 컨트롤러의 destroy 메소드를 호출하여 삭제를 완료합니다. 명명된 경로를 사용하면 더 쉽게 URL을 생성하고 응답을 리디렉션할 수 있습니다.
위 내용은 Laravel 리소스 라우팅 삭제 작업에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!