Câu hỏi phỏng vấn Laravel
Câu hỏi

Query scopes trong Laravel là gì?

Câu trả lời

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 ScopesLocal 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

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

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.

Ví dụ về Local Scope

php... Copy
middle

middle

Gợi ý câu hỏi phỏng vấn

entry

Laravel là gì?

senior

Tại sao chúng ta cần Traits trong Laravel?

middle

Named routes trong Laravel là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào