Laravel에서 사용자를 삭제하는 방법

PHPz
풀어 주다: 2023-04-21 11:04:15
원래의
568명이 탐색했습니다.

Laravel 프레임워크는 데이터베이스를 운영하는 데 필요한 강력한 기능을 제공합니다. 일반적인 기능 중 하나는 데이터베이스의 레코드를 삭제하는 것입니다. 많은 애플리케이션에서는 사용자를 삭제해야 합니다. 이 글에서는 Laravel에서 사용자를 삭제하는 방법을 설명합니다.

먼저 사용자 모델이 필요합니다. 이미 가지고 있다면 이 단계를 건너뛰세요. 다음은 간단한 사용자 모델입니다:

<?php

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    protected $guarded = [];
}
로그인 후 복사

이 모델에서는 Laravel의 내장 Authenticatable 클래스를 사용합니다. $guarded 속성도 정의되어 Laravel에 일괄 할당할 수 없는 속성을 알려줍니다. 이 경우에는 어떤 속성도 제한하지 않습니다. Authenticatable类。还定义了一个$guarded属性,它告诉Laravel哪些属性不能被批量赋值。在本例中,我们没有限制任何属性。

接下来,我们需要一个控制器来处理删除用户的操作。假设我们已经有了一个UserController控制器,并且定义了一个destroy方法,这个方法将在请求中传递一个用户ID,并删除相应的用户。下面是一个基本的UserController控制器:

<?php

namespace App\Http\Controllers;

use App\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function destroy(Request $request)
    {
        $user = User::find($request->id);
 
        if ($user) {
            $user->delete();
            return redirect('/users')->with('success', 'User deleted successfully');
        }
 
        return redirect('/users')->with('error', 'User not found');
    }
}
로그인 후 복사

在这个控制器中,我们首先获取请求中传递的用户ID,然后通过User模型查找用户记录。如果找到了用户,我们调用delete方法来删除用户记录。如果用户记录不存在,我们将重定向到用户列表页面,并显示一个错误消息。

现在,我们需要一个路由来处理删除用户请求。下面是一个路由定义:

Route::delete('/users/{id}', 'UserController@destroy')->name('users.delete');
로그인 후 복사

在这个路由中,我们使用了RESTful风格的路由。它将HTTP DELETE请求映射到UserController控制器的destroy方法,并将请求中的参数{id}作为方法的参数传递。

接下来,我们需要一个视图来显示用户列表和执行删除操作。以下是一个简单的用户列表视图:

@extends('layouts.app')
 
@section('content')
    <div class="container">
        @if (session('success'))
            <div class="alert alert-success">
                {{ session('success') }}
            </div>
        @endif
 
        @if (session('error'))
            <div class="alert alert-danger">
                {{ session('error') }}
            </div>
        @endif
 
        <h3>Users</h3>
 
        <table class="table">
            <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
                <th>Actions</th>
            </tr>
            </thead>
            <tbody>
            @foreach($users as $user)
                <tr>
                    <td>{{ $user->id }}</td>
                    <td>{{ $user->name }}</td>
                    <td>{{ $user->email }}</td>
                    <td>
                        <form action="{{ route(&#39;users.delete&#39;, $user->id) }}" method="POST">
                            @csrf
                            @method('DELETE')
 
                            <button type="submit" class="btn btn-danger btn-sm">Delete</button>
                        </form>
                    </td>
                </tr>
            @endforeach
            </tbody>
        </table>
    </div>
@endsection
로그인 후 복사

在这个视图中,我们首先检查是否有任何成功或错误消息。如果有,我们将它们显示出来。然后,我们列出所有用户,并在每行末尾放置了一个删除按钮。当用户点击删除按钮时,我们将在表单中提交一个DELETE请求到users.delete路由,并传递用户的ID作为参数。

现在,我们已经完成了Laravel中删除用户的操作。当我们在用户列表中点击删除按钮时,我们将执行UserController控制器的destroy

다음으로 사용자 삭제를 처리하는 컨트롤러가 필요합니다. 이미 UserController 컨트롤러가 있고 destroy 메소드를 정의한다고 가정해 보겠습니다. 이 메소드는 요청에 사용자 ID를 전달하고 해당 사용자를 삭제합니다. 다음은 기본 UserController 컨트롤러입니다.

rrreee

이 컨트롤러에서는 먼저 요청에 전달된 사용자 ID를 가져온 다음 User 모델을 통해 사용자 레코드를 찾습니다. . 사용자가 발견되면 delete 메소드를 호출하여 사용자 기록을 삭제합니다. 사용자 기록이 존재하지 않으면 사용자 목록 페이지로 리디렉션되고 오류 메시지가 표시됩니다. 🎜🎜이제 사용자 삭제 요청을 처리할 경로가 필요합니다. 다음은 경로 정의입니다. 🎜rrreee🎜 이 경로에서는 RESTful 스타일 라우팅을 사용합니다. HTTP DELETE 요청을 UserController 컨트롤러의 destroy 메서드에 매핑하고 요청의 {id} 매개변수를 메서드의 매개변수로 전달합니다. 🎜🎜다음으로 사용자 목록을 표시하고 삭제 작업을 수행하는 뷰가 필요합니다. 다음은 간단한 사용자 목록 보기입니다. 🎜rrreee🎜 이 보기에서는 먼저 성공 또는 오류 메시지가 있는지 확인합니다. 있는 경우 표시합니다. 그런 다음 모든 사용자를 나열하고 각 행 끝에 삭제 버튼을 배치했습니다. 사용자가 삭제 버튼을 클릭하면 사용자 ID를 매개변수로 전달하는 양식의 DELETE 요청을 users.delete 경로에 제출합니다. 🎜🎜이제 Laravel에서 사용자 삭제 작업이 완료되었습니다. 사용자 목록에서 삭제 버튼을 클릭하면 UserController 컨트롤러의 destroy 메소드를 실행하고 해당 사용자를 삭제한 후 사용자 목록 페이지로 리디렉션합니다. , 성공 또는 오류 메시지도 표시됩니다. 🎜🎜전반적으로 Laravel에서 사용자를 삭제하는 것은 매우 쉽습니다. 컨트롤러를 구축하고, 해당 경로를 정의하고, 뷰를 구축하고, 관련 모델을 설정하기만 하면 됩니다. Laravel 프레임워크는 데이터 작업을 처리하는 많은 강력한 도구를 제공하므로 기능이 풍부한 애플리케이션을 빠르게 개발할 수 있습니다. 🎜

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

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