Polymorphic Relations (Cấu trúc bảng)
https://viblo.asia/p/eloquent-relationships-in-laravel-phan-2-aRBvXWEokWE
Polymorphic Relations
Cấu trúc bảng
Quan hệ đa hình cho phép 1 model thuộc về nhiều hơn 1 model khác. Ví dụ, hãy tưởng tượng users của ứng dụng của bạn có thể "comments" cả post và video. Sử dụng các mối quan hệ đa hình, bạn có thể sử dụng 1 bảng comments
duy nhất cho cả 2. Trước tiên, hãy kiểm tra các cấu trúc bảng cần thiết để xây dựng mối quan hệ này.
Hai cột quan trọng cần lưu ý là cột commentable_id
và commentable_type
trong bảng comments
. Cột commentable_id
sẽ chứa giá trị id
của post hoặc video. Trong khi cột commentable_type
sẽ chứa tên lớp của model sở hữu. Cột commentable_type
là cách ORM xác định "type" của model sở hữu sẽ trả về khi truy cập vào các mối quan hệ commentable
.
Last updated