Laravel 사용자 관리 - 1

사용자 관리는 일반적으로 사용되는 응용 프로그램의 일부이므로 전체 사용자 관리를 구현하는 방법을 살펴보겠습니다.

app\Models 폴더에 User Model이 있으면

가장 먼저 필요한 것은 리소스 컨트롤러를 생성하기 위해 아래 명령을 실행하는 사용자 리소스 컨트롤러입니다.

php artisan make:controller UserController --resource


이 명령은 app\Http\Controllers 폴더에 컨트롤러 파일을 생성합니다.

다음으로 리소스 경로를 등록해야 합니다. 그렇게 하려면 route\web.php 파일에서 정의해야 합니다.

Route::resource('users', App\Http\Controllers\UserController::class);


다음으로 보기 파일을 만들고 resources\views\안에 'users' 폴더를 추가하고 list.blade.php 파일을 추가하겠습니다.

@extends('layouts.master')

@section('content')
<div class="container-fluid">

    <!-- Page Heading -->
    <div class="d-sm-flex align-items-center justify-content-between mb-4">
        <h1 class="h3 mb-0 text-gray-800">Users</h1>
        <a href="{{route('users.create')}}" class="btn btn-sm btn-primary" >
            <i class="fas fa-plus"></i> Add New
        </a>
    </div>


    <!-- DataTales Example -->
    <div class="card shadow mb-4">
        <div class="card-header py-3">
            <h6 class="m-0 font-weight-bold text-primary">All Users</h6>

        </div>
        <div class="card-body">
            <div class="table-responsive">
                <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Email</th>
                        </tr>
                    </thead>
                    <tbody>
                       @foreach ($users as $user)
                           <tr>
                               <td>{{$user->name}}</td>
                               <td>{{$user->email}}</td>
                           </tr>
                       @endforeach
                    </tbody>
                </table>
            </div>
        </div>
    </div>

</div>


@endsection


이제 UserController의 색인 기능을 다음으로 변경하십시오.

public function index()
{
        $users = User::select('id', 'email', 'name')->get();

        return view('users.list')->with([
            'users' => $users
        ]);
}


이제 사용자는 사용자 테이블에서 사용 가능한 사용자 목록을 표시합니다.



resources\views\users 안에 새 사용자를 생성하기 위한 새 보기 파일을 추가해 보겠습니다. 이름은 add.blade.php입니다.

@extends('layouts.master')

@section('content')

<div class="container-fluid">

    <!-- Page Heading -->
    <div class="d-sm-flex align-items-center justify-content-between mb-4">
        <h1 class="h3 mb-0 text-gray-800">Add Users</h1>
        <a href="{{route('users.index')}}" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i
                class="fas fa-arrow-left fa-sm text-white-50"></i> Back</a>
    </div>

    <!-- DataTales Example -->
    <div class="card shadow mb-4">
        <div class="card-header py-3">
            <h6 class="m-0 font-weight-bold text-primary">Add New User</h6>
        </div>
        <div class="card-body">
            <form method="POST" action="">
                @csrf
                <div class="form-group row">

                    {{-- Name --}}
                    <div class="col-sm-6 mb-3 mb-sm-0">
                        <span style="color:red;">*</span>Name</label>
                        <input type="text" class="form-control form-control-user" id="exampleName"
                            placeholder="Name" required name="name" value="">

                    </div>
                    {{-- Email --}}
                    <div class="col-sm-6 mb-3 mb-sm-0">
                        <span style="color:red;">*</span>Email</label>
                        <input type="email" class="form-control form-control-user" id="exampleEmail"
                            placeholder="Email" required name="email" value="">

                    </div>

                </div>
                <button type="submit" class="btn btn-success btn-user btn-block">
                    Save
                </button>

            </form>
        </div>
    </div>

</div>


@endsection


이제 UserController 생성 함수에서 이 뷰를 반환합니다.

public function create()
{
   return view('users.add');
}


새 사용자를 추가하기 위한 양식을 로드합니다.


사이드바 메뉴를 각 경로에 연결하기 위해 그에 대한 href 속성을 추가합니다.

<a class="collapse-item" href="{{ route('users.index') }}">List</a>
<a class="collapse-item" href="{{ route('users.create')}}">Add</a>


TechTool India Github Repo에서 이 코드에 액세스할 수 있습니다.

보다 명확하게 설명 비디오를 볼 수 있습니다.



다음 부분에서는 유효성 검사에 대해 설명하고 사용자 데이터를 데이터베이스에 저장합니다.

읽어 주셔서 감사합니다

laravel과 관련된 쿼리의 경우
나에게 연락하십시오.

좋은 웹페이지 즐겨찾기