Я работаю над проектом, в котором у нас есть следующие модели:
- ItemType
- ItemSubtype
- Пункт
В качестве примера я бы сказал, что:
ItemType : аппаратное или программное обеспечение
ItemSubtype : ОЗУ, источник питания (если оборудование) или приложение, операционная система (если программное обеспечение)
Элемент : 4 ГБ DDR4 (если ОЗУ) или MS Office 2019 (если приложение)
Вот отношения, которые я вижу:
- ItemType может иметь несколько ItemSubtype и ItemSubtype может принадлежать только одному ItemType
- ItemSubtype может иметь несколько Item , а Item может принадлежать только одному ItemSubtype
![enter image description here](https://i.stack.imgur.com/HqnYq.png)
Вот мои вопросы:
- Очевидно, что Item может принадлежать только одному ItemType . Нужно ли устанавливать отношения между Item и ItemType моделями?
- Если вопрос 1 возвращает истину (это результат кодирования весь день!), Какие отношения я должен использовать? ItemType имеет много Item - ItemSubtype (hasManyThrough)? Или ItemType hasMany Item и Item принадлежит одному ItemType ? Или просто используйте ItemSubtype в качестве промежуточной модели и перейдите от Item к ItemType через ItemSubtype и наоборот без какой-либо прямой связи между ItemType и Item ?
Нужно ли мне item_type_id внутри items миграции, если я не создаю связь между ItemType и Item модели?
Есть ли другой подход к этому?
Заранее спасибо!