У меня есть одна таблица с именем «файлы», которую я хотел бы содержать все мои файлы пользователей. Файлы могут быть загружены из разных представлений и должны быть связаны с разными таблицами: таблица вопросов, таблица ответов, таблица комментариев, таблица сообщений и т. Д. ... но все же все они будут связаны также с таблицей пользователей, таким образом я буду знать, кто является владельцем файла.Таблица файлов Laravel 5.3, связанная с несколькими таблицами
Пример: «пользователь задает вопрос и прикрепляет изображение, чтобы помочь другим пользователям легче понять вопрос».
Значения вопроса переходят в «questions_table», файл переходит в «files_table», а идентификатор пользователя также переходит в «files_table».
Вопрос есть! (извините за длинное введение): Должен ли я использовать сводную таблицу? или просто двойное отношение один-ко-многим от 1.'users_table 'к' files_table '& 2.from' question_table 'to' files_table '?
Я бы предложил не имея '_table' в именах таблиц. Кроме того, представляете ли вы множество файлов, принадлежащих одной записи в другой таблице? Кроме того, хотите ли вы получить доступ к связанной записи (вопрос и т. Д.) Из файла или просто хотите перейти к файлу из связанной записи? – ollieread
Это можно легко решить с помощью 1: n морфинга в вашей таблице файлов, учитывая, что файл может принадлежать только 1 цели (вопрос, ответ и т. Д.). Для владельца это всего лишь идентификатор создателя, который вы можете добавить в качестве столбца как для вопросов, так и для таблиц файлов. – Robert
_table - это просто показать, что я говорю о таблице, а не о названии таблицы. и дело в том, что вопрос принадлежит пользователю, файл принадлежит к Вопросу, а также принадлежит Пользователю. –