Thêm-sửa-xóa User trong Laravel 5

Hi các bạn,

Trong bài viết trước, mình đã giới thiệu với các bạn một vài thông tin cơ bản về Framwork Laravel và luồng đi dữ liệu của Laravel.

Mô hình MVC trong Laravel

Mô hình MVC trong Laravel

Trong bài viết này, chúng ta sẽ cùng áp dụng các kiến thức nền tảng ở bài viết trước để có thể làm chức năng cơ bản là: Thêm, sửa, xóa, hiển thị danh sách User.

1. Thiết kế Database và cấu hình cho Laravel.

- Bạn cần tạo một Database với bản user có 3 trường thông tin: id, username, sex. Trong đó Id là khóa chính, tự động tăng dần (auto_increment).

database User Thêm-sửa-xóa User trong Laravel 5

database User Thêm-sửa-xóa User trong Laravel 5

– Chỉnh sửa file cấu hình kết nối tới Database với Laravel ở file .env (thư mục ngoài cùng)

DB_HOST: Tên của host, ở đây để là localhost
DB_DATABASE: Tên của database
DB_USERNAME: Username dùng để đăng nhập database, ở đây thường là root (mặc định đối với wamp hoặc xampp)
DB_PASSWORD: Password dùng để đăng nhập database, ở đây thường là rỗng (mặc định đối với wamp hoặc xampp)

Config database

Config database

2. Thêm mới user.

2.1. Routes: Cấu hình đường dẫn tại file routes.php (trong thư mục app\Http)

routes for add user

routes for add user

2.2. Controller: Tạo file controller với nội dung

controller create user

controller create user

2.3 Model: Tạo file model User.php trong thư mục app.

model user

model user

 2.4 View: Tạo một trang html chứa form thêm mới user:

View add User

View add User

View Create User

View Create User

Trong đó lưu ý:

– Form có method là POST;

- Action truyền về: action=”{{ URL::action(‘UserController@store’) }}”; tức là truyền về controller là User với action là store.

- Một thẻ input ẩn với value=”{{ csrf_token() }}”. Đoạn thẻ ẩn này là một mã token để chống lại kỹ thuật tấn công CSRF hay còn gọi là kỹ thuật tấn công “Cross-site Request Forgery”, nghĩa là kỹ thuật tấn công giả mạo chính chủ thể của nó.

2.5. Chạy thử chức năng thêm mới user

– Bật terminal lên, di chuyển vị trí đến nơi chứa project bằng dòng lệnh

cd /var/www/html/demo-laravel

– Chạy câu lệnh để chạy ứng dụng

php artisan serve

php artisan serve

php artisan serve

– Lúc này, khi gõ vào thanh địa chỉ đường dẫn: localhost:8000/user/create thì bạn sẽ nhìn thấy trang thêm mới user.

form create user

form create user

3. List danh sách các user

3.1. Routes: Thêm mới đường dẫn trong file routes.php

route list user

route list user

3.2. Controller: Tạo action là index.

controller list user

controller list user

Đoạn code trên khởi tạo một đối tượng User, rồi lấy tất cả các User đưa vào một mảng, sau cùng là gửi trả nó ra trang view List với bên biến là $allUsers.

3.3. Model: Vì trong file Model tạo ở trên (thêm mới user) kế thừa từ lớp Model của Laravel nên đã có sẵn rất nhiều Active-record giúp ta tương tác với Database, nên tạm thời vào lúc này không cần chỉnh sửa thêm gì nữa.

3.3. View: Tạo trang list.blade.php (trong thư mục views) để xem danh sách các user.

view list user

view list user

Tại đây, ta dùng vòng lặp foreach để in dữ liệu vào table html, kèm với 2 action là edit và delete.

view form list user

view form list user

 4. Edit user

4.1. Routes: Thêm mới đường dẫn vào routes.php

controller edit user

controller edit user

4.2. Controller: Tạo action edit và action update

Tại đây,

– Action Edit để lấy dữ liệu user cần sửa, và gán dữ liệu đó vào biến $getUserById để đưa ra hiển thị ngoài trang view.
– Action Update để cập nhật lại username và sex khi người dùng sửa xong và chọn submit.

controller edit user

controller edit user

4.3. Model: Tương tự như ở chức năng list tất cả các user, thì tạm thời chưa cần thêm mới, chỉnh sửa gì từ file model User.php (trong thư mục app). 

4.3. Tạo trang edit.blade.php để hiển thị form sửa thông tin user

view edit user

view edit user

Như vậy đến đây ta đã hoàn thành việc hiển thị dữ liệu user và có thể sửa đổi các thông tin của user đó.

form edit user

form edit user

5. Delete user

5.1. Routes: Thêm mới đường dẫn vào routes.php

route delete user

route delete user

5.2. Controller: Tạo action destroy trong controller cho việc xóa user

controller delete

controller delete

Đến đây là đã hoàn thành chức năng xóa user, bạn có thể vào trang list user để thử nghiệm kết quả.
Woa, đến đây chúng ta đã sơ bộ hiểu về Laravel, hy vọng bài viết hữu ích cho bạn mới đầu làm quen với Laravel và có thể dựa trên nó để tạo ra một trang web cho riêng mình.

//Bạn có thể download source code bài hướng dẫn tại đây.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">