Tác dụng của file model là gì trong laravel
Trong Laravel, Model (Eloquent Model) đóng vai trò là cầu nối đại diện cho một bảng trong cơ sở dữ liệu dưới dạng đối tượng lập trình (OOP). Tác dụng chính của Model gồm 4 nhóm chức năng:
1. Tương tác dữ liệu không cần viết SQL thô (ORM)
-
Giúp thực hiện các thao tác CRUD (Thêm, Đọc, Sửa, Xóa) thông qua các hàm PHP thuần túy.
-
Ví dụ: Dùng
User::where('status', 1)->get()thay vì phải gõSELECT * FROM users WHERE status = 1.
2. Định nghĩa mối quan hệ giữa các bảng (Relationships)
-
Quản lý liên kết giữa các bảng dưới dạng hàm (1-1, 1-Nhiều, Nhiều-Nhiều).
-
Giúp truy xuất dữ liệu liên quan nhanh chóng, ví dụ:
$user->postsđể lấy toàn bộ bài viết của người dùng đó.
3. Bảo vệ và định dạng dữ liệu (Security & Formatting)
-
Bảo vệ Mass Assignment: Dùng
$fillablehoặc$guardedđể chặn người dùng cố tình chèn dữ liệu vào các cột nhạy cảm. -
Ép kiểu dữ liệu (
$casts): Tự động chuyển đổi kiểu dữ liệu khi truy xuất (ví dụ: đổi chuỗi JSON trong database thành mảng PHP, hoặc đổi chuỗi ngày tháng thành đối tượngCarbon). -
Ẩn dữ liệu nhạy cảm (
$hidden): Tự động giấu các cột nhưpassword,remember_tokenkhi chuyển Model thành mảng hoặc trả về API JSON.
4. Đóng gói Logic dữ liệu (Business Logic)
-
Accessors & Mutators: Tự động xử lý dữ liệu trước khi lưu hoặc sau khi lấy ra (ví dụ: tự động viết hoa chữ cái đầu của tên, hoặc tự động mã hóa mật khẩu khi lưu).
-
Query Scopes: Gom nhóm các điều kiện truy vấn hay dùng thành một hàm ngắn gọn để tái sử dụng (ví dụ:
User::active()->get()). -
Model Events: Tự động kích hoạt các hành động khi dữ liệu biến động (như gửi email chào mừng ngay sau khi một bản ghi
Usermới được tạo).
All rights reserved