Лиравенные красноречие запросы предметы своего рода
-
21-12-2019 - |
Вопрос
позволяет сказать, что у меня есть поток сообщений (обычная вещь в социальных сетях), состоящих из различных элементов, таких как
- .
- текстовые сообщения
- Голосовые сообщения
- Изображения
Теперь было бы полезно иметь запрос, который запрашивает все потоки, такие как
thread->threadItems->orderBy('created_at')->get()
Чтобы показать предметы на стороне клиента, мне нужно знать, какие они есть, поэтому мне нужно будет прикрепить класс к моделям на запросе.
Есть ли способ сделать это в красноречивом?Я думал о полиморфных отношениях, потому что они включают в себя класс в таблице.Поскольку типы выше, являются всеми потоками, но не имеют общих атрибутов, я бы разделил модели на уровне базы данных, поэтому, имея одну таблицу на модели швы разумных.
Есть ли способ сделать это элегантно?
Решение
laravel 4.1 представит многозначные полиморфные отношения.Затем вы можете представить «родительскую» модель сообщения, которая связана с вашими текстовыми сообщениями «ребенок», голосовые сообщения и изображения в полиморфном веществе?
Некоторые связанные данные можно найти здесь: