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ướng dẫn tìm hiểu view, migration, seeder, db - laravel - Qua ví dụ quản lý sinh viên

Video khác

Laravel là một trong những framework PHP mạnh mẽ và phổ biến nhất hiện nay, được sử dụng rộng rãi trong việc phát triển các ứng dụng web hiện đại. Với cấu trúc rõ ràng, cú pháp gọn gàng, và hệ thống công cụ hỗ trợ phong phú như View, Migration, Seeder, và Database (DB), Laravel giúp lập trình viên phát triển ứng dụng nhanh chóng, dễ bảo trì và mở rộng.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết cách sử dụng View, Migration, Seeder, và DB trong Laravel thông qua một ví dụ thực tế: xây dựng ứng dụng quản lý sinh viên. Bài viết không chỉ giúp bạn nắm vững các khái niệm mà còn hướng dẫn từng bước cụ thể, từ tạo cấu trúc dữ liệu cho đến hiển thị thông tin sinh viên trên giao diện.

Nếu bạn đang bắt đầu học Laravel hoặc muốn củng cố kiến thức về hệ thống quản lý dữ liệu trong framework này, đây sẽ là hướng dẫn toàn diện giúp bạn làm chủ các công cụ cốt lõi, ứng dụng ngay vào thực tế.

1. Tổng quan về cấu trúc MVC trong Laravel

Trước khi đi sâu vào từng phần, bạn cần hiểu Laravel hoạt động theo mô hình MVC (Model – View – Controller).

  • Model: Đại diện cho dữ liệu và tương tác với cơ sở dữ liệu.

  • View: Chịu trách nhiệm hiển thị giao diện cho người dùng.

  • Controller: Xử lý logic, nhận yêu cầu (request) và trả về phản hồi (response).

Trong ví dụ quản lý sinh viên, Migration và Seeder giúp bạn tạo và khởi tạo dữ liệu cho bảng students. DB được dùng để truy vấn dữ liệu, còn View hiển thị danh sách sinh viên lên trang web.

2. Tạo Migration – Xây dựng cấu trúc bảng sinh viên

Migration trong Laravel là công cụ giúp bạn định nghĩa cấu trúc cơ sở dữ liệu bằng PHP thay vì viết SQL thủ công. Việc này giúp việc quản lý phiên bản cơ sở dữ liệu trở nên dễ dàng hơn.

2.1. Tạo migration cho bảng sinh viên

Mở terminal và chạy lệnh:

php artisan make:migration create_students_table --create=students

Lệnh trên sẽ tạo ra một file migration trong thư mục database/migrations.
Mở file vừa tạo và thêm các cột cần thiết:

public function up() { Schema::create('students', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->string('class'); $table->integer('age'); $table->timestamps(); }); }

Sau đó, chạy lệnh:

php artisan migrate

Hệ thống sẽ tự động tạo bảng students trong cơ sở dữ liệu.
Như vậy, bạn đã hoàn thành bước đầu tiên trong việc xây dựng cấu trúc dữ liệu cho ứng dụng quản lý sinh viên.

3. Tạo Seeder – Khởi tạo dữ liệu mẫu cho sinh viên

Seeder trong Laravel được sử dụng để tạo dữ liệu mẫu giúp quá trình phát triển và kiểm thử trở nên thuận tiện hơn.

3.1. Tạo seeder

Chạy lệnh:

php artisan make:seeder StudentSeeder

Sau đó, mở file StudentSeeder.php và thêm nội dung:

public function run() { DB::table('students')->insert([ ['name' => 'Nguyễn Văn A', 'email' => 'vana@example.com', 'class' => 'CNTT1', 'age' => 20], ['name' => 'Trần Thị B', 'email' => 'thib@example.com', 'class' => 'CNTT2', 'age' => 21], ['name' => 'Phạm Văn C', 'email' => 'vanc@example.com', 'class' => 'CNTT1', 'age' => 19], ]); }

Sau đó, chạy lệnh:

php artisan db:seed --class=StudentSeeder

Kết quả: bảng students sẽ được thêm dữ liệu mẫu giúp bạn test ứng dụng mà không cần nhập thủ công.

4. Làm việc với DB – Thao tác dữ liệu sinh viên

Laravel cung cấp nhiều cách để thao tác dữ liệu: Query Builder, Eloquent ORM, hoặc DB facade. Trong ví dụ này, chúng ta sẽ sử dụng Eloquent ORM – cách làm phổ biến và dễ hiểu nhất.

4.1. Tạo model Student

Chạy lệnh:

php artisan make:model Student

Model này tương ứng với bảng students. Mở file app/Models/Student.php và đảm bảo nội dung:

class Student extends Model { protected $fillable = ['name', 'email', 'class', 'age']; }

4.2. Truy vấn dữ liệu trong Controller

Tạo controller bằng lệnh:

php artisan make:controller StudentController

Thêm logic hiển thị danh sách sinh viên:

public function index() { $students = Student::all(); return view('students.index', compact('students')); }

Laravel sẽ tự động lấy tất cả dữ liệu trong bảng students và truyền đến view students/index.blade.php.

5. Tạo View – Hiển thị danh sách sinh viên

View trong Laravel sử dụng Blade Template Engine, cho phép bạn viết mã HTML kết hợp cú pháp PHP một cách gọn gàng.

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

<!DOCTYPE html> <html> <head> <title>Quản lý sinh viên</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"> </head> <body> <div class="container mt-4"> <h2 class="mb-3 text-center">Danh sách sinh viên</h2> <table class="table table-bordered"> <thead> <tr> <th>ID</th> <th>Họ và tên</th> <th>Email</th> <th>Lớp</th> <th>Tuổi</th> </tr> </thead> <tbody> @foreach ($students as $student) <tr> <td>{{ $student->id }}</td> <td>{{ $student->name }}</td> <td>{{ $student->email }}</td> <td>{{ $student->class }}</td> <td>{{ $student->age }}</td> </tr> @endforeach </tbody> </table> </div> </body> </html>

View này sẽ hiển thị danh sách sinh viên theo bảng dữ liệu Bootstrap, giúp giao diện gọn gàng, dễ nhìn.

6. Tạo Route – Liên kết giữa Controller và View

Cuối cùng, chúng ta cần định tuyến (route) để Laravel biết đường dẫn nào sẽ hiển thị danh sách sinh viên.

Mở file routes/web.php và thêm:

use App\Http\Controllers\StudentController; Route::get('/sinh-vien', [StudentController::class, 'index']);

Giờ đây, khi truy cập http://localhost:8000/sinh-vien, bạn sẽ thấy danh sách sinh viên được hiển thị đầy đủ.

7. Nâng cao – Thêm tính năng thêm mới và tìm kiếm sinh viên

Để ứng dụng thực tế hơn, bạn có thể bổ sung các tính năng sau:

7.1. Thêm sinh viên mới

Tạo form thêm sinh viên trong create.blade.php và xử lý logic trong StudentController@store bằng lệnh:

php artisan make:request StudentRequest

Sau đó validate dữ liệu và lưu vào DB bằng $student->save().

7.2. Tìm kiếm sinh viên theo tên hoặc lớp

Trong StudentController thêm logic tìm kiếm:

public function search(Request $request) { $keyword = $request->input('keyword'); $students = Student::where('name', 'like', "%$keyword%") ->orWhere('class', 'like', "%$keyword%") ->get(); return view('students.index', compact('students')); }

Thêm form tìm kiếm trong view để người dùng nhập từ khóa.
Như vậy, bạn đã có một ứng dụng quản lý sinh viên hoàn chỉnh với các tính năng cơ bản.

8. Những lưu ý khi làm việc với View, Migration, Seeder, và DB trong Laravel

  • Luôn chạy php artisan migrate:fresh --seed khi muốn làm mới toàn bộ dữ liệu.

  • Đặt tên bảng, cột, file migration rõ ràng và có ý nghĩa.

  • Sử dụng Eloquent thay vì query SQL thủ công để giữ mã dễ bảo trì.

  • Tách riêng layout (header, footer) để tái sử dụng giữa các trang.

  • Khi dự án lớn, nên sử dụng Repository Pattern để tách logic dữ liệu khỏi controller.

Kết luận

Qua bài hướng dẫn này, bạn đã nắm được cách sử dụng View, Migration, Seeder, và DB trong Laravel thông qua ví dụ cụ thể: xây dựng ứng dụng quản lý sinh viên. Từ việc tạo bảng, thêm dữ liệu mẫu, truy vấn thông tin đến hiển thị trên giao diện – mọi quy trình đều được Laravel hỗ trợ mạnh mẽ và tự động hóa cao.

Khi bạn hiểu và thành thạo các thành phần này, việc phát triển các dự án thực tế như website quản lý học sinh, hệ thống điểm danh, hay cổng thông tin sinh viên sẽ trở nên đơn giản hơn rất nhiều.

Nếu bạn đang theo học Laravel, hãy tiếp tục khám phá thêm các chủ đề như Route nâng cao, Blade Layout, Eloquent Relationship, và Authentication – những kiến thức sẽ giúp bạn tiến xa hơn trong hành trình trở thành lập trình viên web chuyên nghiệp.

👉 Hãy bắt tay ngay vào thực hành với dự án nhỏ để biến kiến thức hôm nay thành kỹ năng thực tế – đó chính là cách học Laravel hiệu quả nhất!



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

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

×