Query scopes
trong Laravel là gì?
Query scopes
trong Laravel là gì?
Trong Laravel, query scopes
cho phép bạn định nghĩa các ràng buộc truy vấn mà bạn có thể dễ dàng tái sử dụng trên các truy vấn Eloquent khác nhau trong mô hình của bạn. Có hai loại query scopes trong Laravel: Global Scopes và Local Scopes. Cả hai loại này giúp bạn tạo ra các truy vấn có cấu trúc và có thể tái sử dụng, làm cho code của bạn trở nên gọn gàng và dễ bảo trì hơn.
Global Scopes cho phép bạn thêm các ràng buộc truy vấn tự động đến tất cả các truy vấn của một mô hình cụ thể. Ví dụ, bạn có thể muốn một mô hình mà luôn chỉ truy vấn các bản ghi chưa bị "xóa mềm". Để tạo một global scope, bạn cần tạo một class implement interface Illuminate\Database\Eloquent\Scope
và định nghĩa phương thức apply
trong đó. Sau đó, bạn thêm scope này vào mô hình sử dụng phương thức addGlobalScope
trong phương thức booted
của mô hình.
Local Scopes cho phép bạn định nghĩa các ràng buộc truy vấn mà bạn có thể áp dụng một cách rõ ràng trong các truy vấn Eloquent. Ví dụ, bạn có thể có một phương thức trong mô hình của mình để truy vấn chỉ các người dùng đã được kích hoạt. Để tạo một local scope, bạn chỉ cần thêm một phương thức vào mô hình của bạn và tiền tố tên phương thức với scope
.
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào