Nam Còi
  • Trang chủ
  • Lập Trình Website
  • Khóa Học
  • Động Lực
  • Tuyển Dụng
No Result
View All Result
  • Trang chủ
  • Lập Trình Website
  • Khóa Học
  • Động Lực
  • Tuyển Dụng
No Result
View All Result
Nam Còi
No Result
View All Result
Home Lập Trình Website PHP

Laravel 5.5 CRUD – Lập Trình Website CRUD PHP Framework Laravel – Phần 4

Nguyễn Hải Nam by Nguyễn Hải Nam
10/07/2020
in PHP
0
Hình Ảnh Ứng Dụng CRUD Với PHP Framework Laravel 5.5

Hình Ảnh Ứng Dụng CRUD Với PHP Framework Laravel 5.5

10
SHARES
1.6k
VIEWS

Hoàn thiện tính năng CREATE, UPDATE và DELETE trong Laravel CRUD. Phần cuối của loạt bài Laravel 5.5 CRUD – Lập Trình Website CRUD PHP Framework Laravel.

Phần 4 của loạt bài Xây Dựng Website CRUD với PHP Framework Laravel 5.5, mình sẽ hướng dẫn thực hiện các tính năng CREATE, UPDATE và DELETE.

Laravel 5.5 CRUD – Lập Trình Website CRUD PHP Framework Laravel – Phần 3
Laravel 5.5 CRUD – Lập Trình Website CRUD PHP Framework Laravel – Phần 3

BƯỚC 10: CREATE – C TRONG CRUD – TẠO MỚI NGƯỜI DÙNG

Dựa vào hình route list trong hình ảnh bên dưới, 2 routes dùng để tạo mới người dùng là users.create và users.store:

Hình Ảnh Routes Để Tạo Mới Người Dùng Trong Laravel CRUD
Hình Ảnh Routes Để Tạo Mới Người Dùng Trong Laravel CRUD

Hiển Thị HTML Form Tạo Mới Người Dùng

Routes users.create dẫn người dùng đến function create của UserController. Function có nhiệm vụ trả lại cho người dùng HTML gồm các input để điền thông tin người dùng sẽ được tạo.

File footer.blade.php, đoạn mã nguồn sau cho phép chúng ta truy cập đến router users.create:

<form action="{{route('users.create')}}" method="get">
    <button type="submit" class="btn btn-info text-uppercase font-weight-bold rounded-0">
         create a new user
    </button>
</form>

Mã nguồn function create của UserController:

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

File view create.blade.php trong thư mục user-crud-laravel/resources/views/create.blade.php có mã nguồn như sau:

@extends('layout.master')
@section('content')
@component('layout.components.title')
create page
@endcomponent
<div class="container mt-3">
  <div class="d-flex flex-row">
    <div class="col-12 px-0">
      <form action="{{route('users.store')}}" method="post">
        <input type="hidden" name="_token" value="{{csrf_token()}}">
        <div class="form-group ">
          <label class="text-uppercase font-weight-bold" for="name">name</label>
          <input type="text" class="form-control rounded-0" id="name" placeholder="Name" name="name">
        </div>
        <div class="form-group ">
          <label class="text-uppercase font-weight-bold" for="email">email</label>
          <input type="email" class="form-control rounded-0" id="email" placeholder="Email" name="email">
        </div>
        <div class="form-group ">
          <label class="text-uppercase font-weight-bold" for="password">password</label>
          <input type="password" class="form-control rounded-0" id="password" placeholder="Password" name="password">
        </div>
        <div class="form-group ">
          <button type="submit" class="btn btn-danger text-uppercase rounded-0 font-weight-bold">
            confirm
          </button>
        </div>
      </form>
    </div>
  </div>
</div>
@endsection

Giao diện trang web thêm người dùng theo đường dẫn localhost:8000/users/create như sau:

Hình Ảnh Giao Diện Thêm Người Dùng Laravel CRUD
Hình Ảnh Giao Diện Thêm Người Dùng Laravel CRUD

Lưu Trữ Người Dùng

Nhập thông tin người dùng mới và ấn nút Confirm sẽ được chuyển hướng tới route users.store.

Lưu ý: sử dụng phương thức là POST. Route users.store trỏ tới function store của UserController.

Mã nguồn của function store trong file UserController:

public function store(Request $request)
    {
        $user = new User();
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = $request->password;
        $user->save();
        return redirect()->route('users.index');
    }

Function này có nhiệm vụ nhận dữ liệu từ HTML Form người dùng gửi lên từ trang thêm người dùng. Sau đó lưu trữ người dùng vào database và chuyển hướng người dùng tới route users.index.

BƯỚC 11: UPDATE – U TRONG CRUD – CẬP NHẬT THÔNG TIN NGƯỜI DÙNG

Tương tự như tính năng thêm mới người dùng, cập nhật thông tin người dùng sẽ có 2 routes là users.edit và users.update:

Hình Ảnh Routes Update User Trong Laravel CRUD
Hình Ảnh Routes Update User Trong Laravel CRUD

Hiển Thị HTML Form Chỉnh Sửa Người Dùng

Route users.edit điều hướng đường dẫn đến UserController và function edit. Function này có nhiệm vụ tìm kiếm người dùng cần chỉnh sửa, đưa thông tin hiện có vào HTML Form và gửi về người dùng.

Đoạn mã nguồn sau trong file view index.blade.php cho phép chúng ta truy cập vào đường dẫn users.edit:

<form action="{{route('users.edit',$user->id)}}" method="get">
    <button class="btn btn-sm btn-warning rounded-0">
         Edit
    </button>
</form>

Mã nguồn function store của UserController:

 public function store(Request $request)
    {
        $user = new User();
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = $request->password;
        $user->save();
        return redirect()->route('users.index');
    }

Mã nguồn file edit.blade.php trong thư mục user-crud-laravel/resources/views/edit.blade.php:

@extends('layout.master')
@section('content')
@component('layout.components.title')
edit page
@endcomponent
<div class="container mt-3">
  <div class="row">
    <div class="col-12 ">
      <form action="{{route('users.update',$user->id)}}" method="post">
        <input type="hidden" name="_token" value="{{csrf_token()}}">
        <input type="hidden" name="_method" value="put" />
        <div class="form-group ">
          <label class="text-uppercase font-weight-bold" for="name">name</label>
          <input type="text" class="form-control rounded-0" id="name" placeholder="Name" name="name"
            value="{{$user->name}}">
        </div>
        <div class="form-group ">
          <label class="text-uppercase font-weight-bold" for="email">email</label>
          <input type="email" class="form-control rounded-0" id="email" placeholder="Email" name="email"
            value="{{$user->email}}">
        </div>
        <div class="form-group ">
          <button type="submit" class="btn btn-warning text-uppercase rounded-0 font-weight-bold">
            save
          </button>
        </div>
      </form>
    </div>
  </div>
</div>
@endsection

Giao diện trang web chỉnh sửa người dùng tại đường dẫn localhost:8000/users/1/edit:

Giao Diện Chỉnh Sửa Người Dùng Laravel CRUD
Giao Diện Chỉnh Sửa Người Dùng Laravel CRUD

Cập Nhật Người Dùng

Chỉnh sửa thông tin người dùng dựa vào HTML Form ở trên, ấn vào nút Save. Nút Save gửi đi một form lên máy chủ với phương thức là PUT. Trỏ tới route tên users.update, kèm tham số id của người dùng.

Route user.update trỏ tới function update:

public function update(Request $request, $id)
    {
        $user = User::find($id);
        $user->name = $request->name;
        $user->save();
        return redirect()->route('users.index');
    }

Function này thực hiện tìm kiếm người dùng dựa trên id được gửi lên từ trên URL. Chỉnh sửa trường name mà không cho phép chỉnh sửa trường email. Lưu và chuyển hướng về trang xem tất cả người dùng.

Bước 12: DELETE – D TRONG CRUD – XÓA DỮ LIỆU NGƯỜI DÙNG

Route xóa dữ liệu người dùng có tên users.destroy:

Hình Ảnh Route Delete User Trong Laravel CRUD
Hình Ảnh Route Delete User Trong Laravel CRUD

Xóa Dữ Liệu Người Dùng

Click vào Button Delete trên trang tất cả người dùng để xóa:

Hình Ảnh Giao Diện Xóa Người Dùng Laravel CRUD
Hình Ảnh Giao Diện Xóa Người Dùng Laravel CRUD

Button này sẽ gửi form lên route users.destroy và kích hoạt function destroy trong UserController:

public function destroy($id)
    {
        $user = User::find($id);
        $user->delete();
        return redirect()->route('users.index');
    }

Function này sẽ tìm kiếm user dựa trên id. Xóa dữ liệu người dùng và chuyển hướng về trang hiển thị tất cả người dùng.

Kết thúc loạt bài viết Laravel 5.5 CRUD – Lập Trình Website CRUD PHP Framework Laravel. Tham khảo DEMO tại: https://namcoi.com/projects/user-crud-laravel/public/users.

Mã nguồn tham khảo có tại: https://github.com/aptech-php/aptech-php-user-crud-laravel.

Chúc các bạn may mắn và thành công.

Related

Tags: crudcrud laravellaravellaravel 5.5laravel 5.5 crudlaravel crud 5.5
Previous Post

Laravel 5.5 CRUD – Lập Trình Website CRUD PHP Framework Laravel – Phần 3

Next Post

Câu lệnh phổ biến trong Power Shell/Terminal/GitBash trên Windows/macOS/Linux

Nguyễn Hải Nam

Nguyễn Hải Nam

Mình là Nam - nick name ở nhà là Còi, trong tiếng Anh là Nick. Hiện nay, mình đang làm việc tại Axon Active Việt Nam với vị trí là Scrum Master. Ngoài ra, mình còn tham gia thỉnh giảng khóa học Lập Trình Ứng Dụng Website với PHP & MySQL. tại Softech Aptech Đà Nẵng.

Next Post
Hình Ảnh Terminal Trên macOS

Câu lệnh phổ biến trong Power Shell/Terminal/GitBash trên Windows/macOS/Linux

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recent News

  • Handling Vericlock Webhooks: Overcoming Challenges and Optimizing Costs
  • Webinoly – Trọn Bộ LEMP – Tối Ưu Hóa Máy Chủ Web Chạy NGINX
  • Upload Multiple Files và đính kèm vào Task sử dụng Teamwork API thông qua PHP Laravel API

Category

  • Aptech PHP
  • Command Line
  • Động Lực
  • Git
  • Khóa Học
  • Lập Trình Website
  • Laravel
  • Nginx
  • Phần Mềm
  • PHP
  • Software
  • SQL
  • Tiền Mã Hoá
  • Tuyển Dụng
  • WordPress

Thông Tin Website

  • Các Điều Khoản Và Điều Kiện
  • Chính Sách Bảo Mật
  • Liên Hệ

Liên Kết

  • Vape PHP Đà Nẵng Website
  • Nga Đức Ninh Thuận Website

Bản Quyền © 2018 - | Nam Còi | [email protected]

No Result
View All Result
  • Trang chủ
  • Lập Trình Website
  • Khóa Học
  • Động Lực
  • Tuyển Dụng

Bản Quyền © 2018 - | Nam Còi | [email protected]