> PHP 프레임워크 > Laravel > Laravel 리소스 라우팅 삭제 작업에 대한 자세한 설명

Laravel 리소스 라우팅 삭제 작업에 대한 자세한 설명

PHPz
풀어 주다: 2023-04-23 09:32:12
원래의
518명이 탐색했습니다.

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 메소드를 호출합니다.

  1. 경로 정의

destroy 메소드에 대한 경로를 정의해야 합니다. 예:

Route::delete('posts/{post}', 'PostController@destroy')->name('posts.destroy');
로그인 후 복사

이 경로는 DELETE 요청 및 /posts/{post} 경로와 일치하고 요청을 destroy 메소드로 전달합니다. PostController의

  1. 컨트롤러 메소드

컨트롤러에서는 삭제 작업에 해당하는 엔터티 객체를 가져와서 삭제 메소드를 호출하여 데이터베이스에서 삭제해야 합니다. 예:

public function destroy($id)
{
    $post = Post::find($id);
    $post->delete();
    return redirect()->route('posts.index');
}
로그인 후 복사

여기에서는 먼저 Post::find 메서드를 사용하여 삭제할 엔터티 개체를 찾은 다음 삭제 메서드를 사용하여 데이터베이스에서 삭제합니다. 마지막으로 리디렉션 방법을 사용하여 사용자를 게시물 목록 페이지로 리디렉션합니다.

  1. HTML 양식

HTML 양식에서 삭제 버튼에 대한 양식을 생성하고 해당 양식에 숨겨진 필드 _method를 추가하여 이것이 DELETE 요청임을 나타내야 합니다.

예를 들어 다음 코드를 사용하여 삭제 버튼을 생성할 수 있습니다.

<form action="{{ route(&#39;posts.destroy&#39;, $post->id) }}" method="POST">
    {{ csrf_field() }}
    {{ method_field('DELETE') }}
    <button type="submit">删除</button>
</form>
로그인 후 복사

여기에서는 매개변수가 있는 /posts/{post} 경로를 생성하기 위해 경로 메소드를 사용하고 양식의 메소드 속성을 DELETE로 설정합니다. . 그런 다음 csrf_field 메서드를 사용하여 CSRF 토큰을 생성하고 method_field 메서드를 사용하여 _method 필드를 생성합니다.

  1. Named Routing

마지막으로 경로를 정의할 때 destroy 메소드에 대해 이름이 붙은 경로 이름인 post.destroy를 설정할 수 있습니다. 이 이름은 삭제 작업이 완료된 후 URL을 더 쉽게 생성하고 페이지로 리디렉션하는 데 도움이 됩니다.

예를 들어 다음 코드를 사용하여 리디렉션 응답을 생성할 수 있습니다.

return redirect()->route('posts.index');
로그인 후 복사

여기에서는 Route 메소드를 사용하고 post.index 매개변수를 전달하여 post.index 경로를 생성함으로써 사용자를 게시물로 리디렉션합니다. 목록 페이지.

3. 요약

위 단계를 통해 Laravel에서 리소스 라우팅 삭제 작업을 쉽게 구현할 수 있습니다. 사용자가 웹 애플리케이션에서 삭제 버튼을 클릭하면 Laravel은 DELETE 요청을 생성하고 컨트롤러의 destroy 메소드를 호출하여 삭제를 완료합니다. 명명된 경로를 사용하면 더 쉽게 URL을 생성하고 응답을 리디렉션할 수 있습니다.

위 내용은 Laravel 리소스 라우팅 삭제 작업에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿