Я пытаюсь реализовать модель, которая ведет себя как папка, которая может содержать другие модели другого типа.Как я могу это реализовать?
Это база данных, которую я имею (упрощено для пояснения):
images
id - integer
name - string
format - string
videos
id - integer
name - string
length - integer
codec - string
folder
id - integer
name - string
Я ожидал, что смогу сделать $folder->elements
и получить коллекцию всехImage
s и Video
s в элементе Folder
.
Для этого я думаю о сводной таблице, подобной следующей:
folder_elements
folder_id - integer
element_id - integer
element_type -string
И используйте morphManyотношения, которые обеспечивает Laravel, но я думаю (согласно примерам в документах), что он должен использоваться наоборот (когда элемент принадлежит другим элементам, а не когда элемент имеет другие элементы).
Кто-нибудь может мне помочь в этом?