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.
posts
id - integer
title - string
body - text
videos
id - integer
title - string
url - string
comments
id - integer
body - text
commentable_id - integer
commentable_type - stringHai 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
Was this helpful?