Mục Lục
Mục Lục
Hướng dẫn cài đặt môi trường [Bài Viết] Hướng dẫn cài composer [Bài Viết] Hướng dẫn tạo dự án Laravel đầu tay. [Bài Viết] Hướng dẫn cấu hình cơ sở dữ liệu và bật chức năng auth có sẵn trong Laravel [Bài Viết] Hướng dẫn cài theme Acacha AdminLTE cho Laravel [Bài Viết] Hướng dẫn tắt debug khi upload dự án laravel lên HOST Video Hướng dẫn cài đặt môi trường + tạo dự án + Tìm hiểu Route qua ví dụ - Lập trình Laravel Video Hướng dẫn cài đặt dự án Laravel + Cài đặt chức năng Auth (login + register) trong Laravel Tìm hiểu Route & View & Controller Video Tìm hiểu Route trong Laravel + Học lập trình laravel qua ví dụ Hello World, ax+b=0, Hiển thị danh sách sinh viên Video Tìm hiểu Route qua ví dụ quản lý sinh viên - Laravel Video Hướng dẫn tìm hiểu Route - Controller - View trong Laravel qua ví dụ Video Lập trình Laravel - Truyền dữ liệu từ Controller qua View - Ví dụ Hello World trong Laravel Phần 1 Video Lập trình Laravel - Truyền dữ liệu từ Controller qua View - Ví dụ Tính giai thừa trong Laravel Phần 2 Video Lập trình Laravel - Truyền dữ liệu từ Controller qua View - Ví dụ hiển thị danh sách sinh viên trong Laravel Phần 3 Tìm hiểu route + truyền dữ liệu từ controller tới view qua bài quản lý khách sạn- Lập trình Laravel Tìm hiểu route + truyền dữ liệu từ controller tới view qua bài quản lý sản phẩm - Lập trình Laravel Tìm hiểu Route - Controller - View trong Laravel Route: Giải phương trình bậc 2 (ax2 + bx + c = 0) bằng Laravel - Lập trình laravel BÀI TẬP LARAVEL CƠ BẢN - Lập Trình Laravel - Route → Controller → View QUẢN LÝ SINH VIÊN (KHÔNG DÙNG DATABASE) - Khóa học lập trình Laravel GET/POST trong Laravel Video Tìm hiểu GET/POST trong Laravel qua ví dụ nhập thông tin người dùng - Lập trình Laravel Quản lý sinh viên bằng Laravel - Lập trình Laravel Video Quản lý sinh viên bằng Laravel - Lập trình Laravel Layout - Blade Video Tìm hiểu Route - Blade (nhung css/js/photos) - cú pháp Blade - Xử lý GET/POST trong Laravel Video Hướng dẫn tìm hiểu layout trong Laravel - qua ví dụ tạo website tin tức - Lập Trình Laravel Bài Tập Học Layout thông qua clone website - Creative Theme Bootstrap Free - Lập trình Laravel Kết nối CSDL - Laravel Video Hướng dẫn tìm hiểu view, migration, seeder, db - laravel - Qua ví dụ quản lý sinh viên 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 Tìm hiểu migration trong laravel - Lập trình laravel Chương trình quản lý điểm danh Aptech - Lập trình Laravel - Lập trình PHP/Laravel Video - Chương trình quản lý điểm danh Aptech - Lập trình Laravel - Lập trình PHP/Laravel Video Bài tập quản lý sách bằng Laravel - Full Source Code quản lý sách - Lập trình Laravel Ôn tập - Chương trình quản lý sách + danh mục sách - Lập trình PHP, Laravel Website thi trắc nghiệm lập trình Aptech - Lập trình laravel - Lập trình PHP Tạo 1 POS bán hàng cho siêu thị - Supper Market - Lập trình Laravel Video - Tạo 1 POS bán hàng cho siêu thị - Supper Market - Lập trình Laravel Video Hướng dẫn tim hiểu Pagination + model qua ví dụ quản lý sinh viên - Lập trình Laravel Tìm hiểu paginate trong laravel - Quản lý sản phẩm - Lập trình Laravel Ứng dụng Quản lý Sách trong Laravel Phân quyền - Chức năng nâng cao Video - Tìm hiểu Auth trong Laravel Video Phân Quyền-Hướng dẫn viết chức năng phân quyền người dùng theo role Lâp Trình PHP/Laravel Video API Resful Laravel - Hướng dẫn tạo API Resful bằng PHP/Laravel - Khóa học lập trình PHP/Laravel [Examination] Examination & Test + Website tra cứu luật giao thông đường bộ - Lập trình PHP - Lập trình Laravel [Examination] Bài tập ôn luyện kết thúc môn - Sử dụng Laravel + Ajax Thực Chiến: Web bán hàng Video Hướng dẫn tạo dự án super market - phần 1 - Laravel Video Hướng dẫn tạo dự án super market - phần 2- laravel Video Tạo giở hàng - học lập trình laravel qua project- Phần 3 - laravel Khóa Học Lập Trình Laravel Thực Chiến Video Source Code Dự Án - Thực Chiến Web Bán Hàng Video Phần 1 | Laravel | Web bán hàng - Giới thiệu công nghệ Video Phần 2 | Phân tích thiết kế CSDL (database) | Web bán hàng PHP/MySQL Video Phần 3 | Phân tích thiết kế CSDL (database) | Web bán hàng PHP/MySQL Video Phần 4 | Laravel | Thiết kế web bán hàng - Cài đặt dự án & Authetication & Migration CSDL Video Phần 5 | Laravel | Thực Chiến - Web Bán Hàng -Tích hợp template và chỉnh sửa trang đăng ký-đăng nhập Video Phần 6 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng Role trong dự án Video Phần 7 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng quản lý người dung trong dự án Video Phần 8 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng quản lý danh mục Video Phần 9 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng Quản lý sản phẩm Video Phần 10 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng Quản lý tin tức Video Phần 11 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng Quản lý phản hồi Video Phần 12 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng Quản lý đơn hàng Video Phần 13 | Laravel | Thực Chiến - Web Bán Hàng - Chức năng bảo mật trong dự án Video Phần 14 | Laravel | Thực Chiến - Web Bán Hàng - Trang Chủ & Phân Layout Video Phần 15 | Laravel | Thực Chiến - Web Bán Hàng - FE Trang Sản Phẩm Video Phần 16 | Laravel | Thực Chiến - Web Bán Hàng - FE Trang Tin Tức Video Phần 17 | Laravel | Thực Chiến - Web Bán Hàng - FE Trang Liên Hệ Unlisted Video Phần 18 | Laravel | Thực Chiến - Web Bán Hàng - FE Trang Chi Tiết Tin Tức Video Phần 19 | Laravel | Thực Chiến - Web Bán Hàng - FE Chi Tiết Sản Phẩm Video Phần 20 | Laravel | Thực Chiến - Web Bán Hàng - Trang giỏ hàng Video Phần 21 | Laravel | Thực Chiến - Web Bán Hàng - Trang thanh toán & hoàn thành thanh toán Video Phần 22 | Laravel | Final | Hướng dẫn cài đặt dự án từ source code mẫu
Laravel Tutorial

[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 => laravel

Laravel 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:

  1. 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 usertest trong CSDL db1656.

  2. 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:

public function boot(): void { parent::boot(); Route::middleware('web') ->group(base_path('routes/db.php')); }

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:

use App\Http\Controllers\UserController; Route::get('/db/input', [UserController::class, 'showInput']); Route::post('/db/save', [UserController::class, 'saveUser']);

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:

Route::get('/db/index', [UserController::class, 'showIndex']);

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:

php artisan make:controller UserController

Mở file UserController.php và thêm nội dung:

namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class UserController extends Controller { // Hiển thị form nhập public function showInput() { return view('input'); } // Lưu người dùng vào database public function saveUser(Request $request) { $name = $request->input('name'); $email = $request->input('email'); DB::insert('INSERT INTO usertest (name, email) VALUES (?, ?)', [$name, $email]); return redirect('/db/index')->with('success', 'Thêm người dùng thành công!'); } // Hiển thị danh sách người dùng public function showIndex() { $users = DB::table('usertest')->paginate(5); return view('index', ['users' => $users]); } }

Ở đây:

  • DB::insert dù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:

<!DOCTYPE html> <html> <head> <title>Thêm người dùng</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body class="container mt-5"> <h3 class="mb-4 text-center">Thêm người dùng mới</h3> <form action="/db/save" method="POST"> @csrf <div class="mb-3"> <label>Họ và tên:</label> <input type="text" name="name" class="form-control" placeholder="Nhập tên người dùng" required> </div> <div class="mb-3"> <label>Email:</label> <input type="email" name="email" class="form-control" placeholder="Nhập email" required> </div> <button type="submit" class="btn btn-primary">Thêm mới</button> </form> </body> </html>

6.2. Giao diện hiển thị danh sách (index.blade.php)

Tạo file resources/views/index.blade.php:

<!DOCTYPE html> <html> <head> <title>Danh sách người dùng</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body class="container mt-5"> <h3 class="mb-4 text-center">Danh sách tài khoản người dùng</h3> @if(session('success')) <div class="alert alert-success">{{ session('success') }}</div> @endif <table class="table table-bordered"> <thead> <tr> <th>ID</th> <th>Họ và tên</th> <th>Email</th> </tr> </thead> <tbody> @foreach ($users as $user) <tr> <td>{{ $user->id }}</td> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> </tr> @endforeach </tbody> </table> {{ $users->links() }} </body> </html>

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

CREATE TABLE usertest ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

Cách 2: Tạo bằng migration trong Laravel

php artisan make:migration create_usertest_table

Rồi thêm cấu trúc:

Schema::create('usertest', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email'); $table->timestamps(); });

Chạy lệnh:

php artisan migrate

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::insert nế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)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



Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó

×