[Video] Học Laravel qua ví dụ thêm & hiển thị tài khoản người dung - DB::Insert - DB::get - Paginate - Khoá Học Laravel
Nội dung buổi học : CSDL trong Laravel (MySQL)
Ví dụ: Website quản lý thông tin người dùng
- Thêm 1 người dùng mới
- Hiển thị danh sách người dùng
==============================================
B1. Tạo file route cho buổi học hôm nay : db.php => đky để laravel => nhận được file route.
B2. Thiết kế view + định nghĩa route cho ví dụ trên
- Thêm 1 người dùng mới
- Route: db/input
- Controller : UserController => showInput => input.blade.php
- Xử Lý Form => OK
- Lưu dữ liệu vào database
- Hiển thị danh sách người dùng
- Route: db/index
- Controller : UserController => showIndex => index.blade.php
==> database
- localhost => tao CSDL => db1656
- Tao table bang cach nao:
- Xu dung cach truyen thong => query => DB
- Tao theo cu phap Laravel
=> Tao 1 bang usertest trong db => laravelLaravel là một trong những framework PHP mạnh mẽ nhất hiện nay, được hàng triệu lập trình viên trên toàn thế giới tin tưởng lựa chọn. Điểm nổi bật của Laravel chính là khả năng kết nối, truy xuất và quản lý cơ sở dữ liệu (CSDL) cực kỳ linh hoạt. Trong quá trình học lập trình web, việc hiểu và thực hành với CSDL là bước quan trọng giúp bạn nắm vững nền tảng, đặc biệt là khi làm việc với MySQL trong Laravel.
Trong bài viết này, chúng ta sẽ cùng học Laravel qua ví dụ thêm và hiển thị tài khoản người dùng, thông qua việc sử dụng các phương thức phổ biến như DB::insert, DB::get, và paginate(). Bài viết sẽ hướng dẫn từng bước cụ thể, dễ hiểu — từ tạo route, thiết kế view, viết controller, cho đến hiển thị dữ liệu từ database.
Đây là bài học nằm trong chuỗi Khoá học Laravel cơ bản, phù hợp cho người mới bắt đầu hoặc những ai muốn củng cố kiến thức về làm việc với cơ sở dữ liệu.
Hãy cùng bắt đầu xây dựng một website quản lý thông tin người dùng hoàn chỉnh — nơi bạn có thể thêm người dùng mới và hiển thị danh sách người dùng có phân trang (pagination), giúp hệ thống của bạn chuyên nghiệp và dễ sử dụng hơn!
1. Tổng quan: CSDL trong Laravel (MySQL)
Trước khi bắt tay vào coding, hãy cùng điểm qua cách Laravel làm việc với cơ sở dữ liệu.
Laravel cung cấp một lớp truy cập cơ sở dữ liệu mạnh mẽ thông qua hai phương thức chính:
-
Query Builder: Cho phép bạn viết truy vấn SQL linh hoạt bằng cú pháp PHP.
-
Eloquent ORM: Mạnh hơn, hỗ trợ làm việc với dữ liệu dưới dạng mô hình (model).
Trong bài học này, ta sẽ tập trung vào cách sử dụng DB facade để thực hiện các thao tác cơ bản như:
-
Thêm người dùng mới (
DB::insert) -
Lấy danh sách người dùng (
DB::table()->get()) -
Phân trang dữ liệu (
paginate())
Đây là những kiến thức nền tảng mà bất kỳ lập trình viên Laravel nào cũng cần nắm vững khi làm việc với các hệ thống có dữ liệu người dùng.
2. Ví dụ thực tế: Website quản lý thông tin người dùng
Chúng ta sẽ xây dựng một ứng dụng nhỏ có hai chức năng chính:
-
Thêm người dùng mới
-
Người dùng nhập thông tin qua form.
-
Dữ liệu được lưu vào bảng
usertesttrong CSDLdb1656.
-
-
Hiển thị danh sách người dùng
-
Hiển thị dữ liệu từ database.
-
Có phân trang để hiển thị gọn gàng.
-
Mục tiêu:
Hiểu rõ cách Laravel kết nối, chèn dữ liệu và hiển thị danh sách có phân trang, áp dụng được trong các dự án thực tế.
3. Bước 1: Tạo file route cho buổi học – db.php
Trong Laravel, mọi đường dẫn (URL) đều được định nghĩa thông qua file route.
Mặc định Laravel sử dụng file routes/web.php, nhưng để dễ quản lý nội dung học, ta sẽ tạo riêng file db.php.
Thực hiện các bước sau:
B1: Tạo file routes/db.php
B2: Mở file RouteServiceProvider.php trong thư mục app/Providers và đăng ký route mới:
Như vậy, Laravel sẽ nhận diện được file route riêng này, giúp bạn quản lý bài học gọn gàng hơn.
4. Bước 2: Thiết kế View và định nghĩa Route
4.1. Thêm người dùng mới
-
Route:
/db/input -
Controller:
UserController@showInput -
View:
input.blade.php
Thêm route trong file routes/db.php:
4.2. Hiển thị danh sách người dùng
-
Route:
/db/index -
Controller:
UserController@showIndex -
View:
index.blade.php
Thêm route:
Vậy là bạn đã có 3 route cơ bản cho bài học hôm nay.
5. Bước 3: Tạo Controller – Xử lý logic nghiệp vụ
Tạo Controller:
Mở file UserController.php và thêm nội dung:
Ở đây:
-
DB::insertdùng để thêm dữ liệu vào bảng. -
DB::table()->paginate(5)giúp hiển thị dữ liệu 5 bản ghi mỗi trang.
6. Bước 4: Thiết kế View – Giao diện thêm và hiển thị người dùng
6.1. Giao diện thêm người dùng (input.blade.php)
Tạo file resources/views/input.blade.php:
6.2. Giao diện hiển thị danh sách (index.blade.php)
Tạo file resources/views/index.blade.php:
Laravel sẽ tự động tạo phân trang (pagination) với cú pháp {{ $users->links() }} – cực kỳ tiện lợi!
7. Bước 5: Tạo Database – Kết nối với Laravel
7.1. Tạo CSDL
Truy cập phpMyAdmin tại localhost/phpmyadmin
Tạo database mới có tên: db1656.
7.2. Tạo bảng usertest
Có hai cách:
Cách 1: Tạo bằng câu lệnh SQL truyền thống
Cách 2: Tạo bằng migration trong Laravel
Rồi thêm cấu trúc:
Chạy lệnh:
8. Mẹo thực hành & Lưu ý quan trọng
-
Luôn validate dữ liệu trước khi thêm vào database để tránh lỗi hoặc trùng lặp.
-
Khi hiển thị dữ liệu, dùng paginate() thay vì
get()nếu danh sách dài để tránh load chậm. -
Có thể dùng Eloquent Model thay thế
DB::insertnếu muốn viết code ngắn gọn và dễ đọc hơn. -
Đặt thông báo flash (
session('success')) giúp người dùng dễ dàng nhận biết thao tác thành công. -
Sử dụng Bootstrap hoặc Tailwind CSS giúp giao diện form và bảng dữ liệu đẹp mắt, dễ dùng.
Kết luận
Qua bài học hôm nay, bạn đã nắm được cách làm việc với cơ sở dữ liệu trong Laravel thông qua ví dụ thực tế về thêm và hiển thị tài khoản người dùng.
Bạn đã học cách:
-
Tạo route riêng (
db.php) và đăng ký với Laravel. -
Thiết kế form thêm người dùng (
input.blade.php). -
Lưu dữ liệu bằng
DB::insert. -
Lấy dữ liệu và phân trang bằng
DB::table()->paginate().
Những kiến thức này là nền tảng cực kỳ quan trọng giúp bạn dễ dàng xây dựng các tính năng nâng cao hơn trong tương lai như chỉnh sửa, xoá người dùng, đăng nhập – đăng ký tài khoản, hay quản trị hệ thống người dùng.
👉 Hãy thử mở rộng ví dụ này bằng cách thêm chức năng chỉnh sửa (edit) và xoá (delete) người dùng – đó chính là bước tiếp theo trong hành trình làm chủ Laravel của bạn!
Chúc bạn học tốt và tiếp tục đồng hành trong khoá học Laravel cùng chúng tôi – nơi bạn biến kiến thức thành kỹ năng thực chiến!
Source Code: https://github.com/tranvandiep/T1907A-Laravel