существует множество возможностей для написания отношений между моделями Laravel, но не могли бы вы помочь мне выбрать менее ресурсоемкий. но также универсален?
В моем приложении Store есть следующие модели:
1. Филиал
2. Пользователь
3. Клиент
4. Сделка
5. Продукт
6. Квитанция
7. Доставка
Филиал имеет много пользователей
У пользователя есть много клиентов
Клиент имеет много транзакций
Транзакция будет иметь много товара, много квитанций, много доставки
Запросы будут выглядеть примерно так:
- получить всех пользователей
- получить пользователей ветки
- получить всех клиентов
- получить клиентов филиала
- получить клиентов пользователя
- получить транзакции клиента
- получить продукты сделки
- получить квитанции о транзакции
- получить доставку транзакции
самая простая стратегия - создать
отношения один ко многим между
ветка и пользователь,
пользователь и клиент,
клиент и транзакция,
сделка и продукт
транзакция и получение
транзакция и доставка
но это кажется немного уродливым, особенно если мы посмотрим на
Transaction and it's 'dependencies' (product, receipt, delivery)
Я думаю, что полиморфная oneToMany будет более подходящей между транзакцией и продуктом, получением, доставкой.
Как вы будете управлять этой структурой модели?