+1

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 $fillable hoặ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ượng Carbon).

  • Ẩn dữ liệu nhạy cảm ($hidden): Tự động giấu các cột như password, remember_token khi 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 User mới được tạo).


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí