Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WP_MatchesMapRegex has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/class-wp.php on line 632

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Translation_Entry has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/entry.php on line 14

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_Reader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 12

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_FileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 120

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_StringReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 175

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_CachedFileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 221

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; POMO_CachedIntFileReader has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/pomo/streams.php on line 236

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; WP_Widget_Factory has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-includes/widgets.php on line 544

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdSense has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 38

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsWidget has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 941

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsSearch has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 1003

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzAdsLU has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/easy-adsense-lite.php on line 1078

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzBaseOption has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 22

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzCheckBox has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 174

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzRadioBox has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 199

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzSelect has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 250

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzMessage has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 294

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzHelpTag has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 313

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzHelpPopUp has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 328

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzTextArea has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 346

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzText has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 366

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzSubmit has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 385

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzColorPicker has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 409

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzOneTab has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 432

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; EzMiniTab has a deprecated constructor in /var/www/phpcoban.com/public_html/wp-content/plugins/easy-adsense-lite/EzOptions.php on line 476
Thêm-sửa-xóa User trong Laravel 5

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="">