Навигация по моделям с использованием отношений с Laravel и Eloquent - PullRequest
0 голосов
/ 22 января 2019

Я работаю над проектом, в котором у нас есть следующие модели:

  • ItemType
  • ItemSubtype
  • Пункт

В качестве примера я бы сказал, что:

ItemType : аппаратное или программное обеспечение

ItemSubtype : ОЗУ, источник питания (если оборудование) или приложение, операционная система (если программное обеспечение)

Элемент : 4 ГБ DDR4 (если ОЗУ) или MS Office 2019 (если приложение)

Вот отношения, которые я вижу:

  1. ItemType может иметь несколько ItemSubtype и ItemSubtype может принадлежать только одному ItemType
  2. ItemSubtype может иметь несколько Item , а Item может принадлежать только одному ItemSubtype

enter image description here

Вот мои вопросы:

  1. Очевидно, что Item может принадлежать только одному ItemType . Нужно ли устанавливать отношения между Item и ItemType моделями?
  2. Если вопрос 1 возвращает истину (это результат кодирования весь день!), Какие отношения я должен использовать? ItemType имеет много Item - ItemSubtype (hasManyThrough)? Или ItemType hasMany Item и Item принадлежит одному ItemType ? Или просто используйте ItemSubtype в качестве промежуточной модели и перейдите от Item к ItemType через ItemSubtype и наоборот без какой-либо прямой связи между ItemType и Item ?
  3. Нужно ли мне item_type_id внутри items миграции, если я не создаю связь между ItemType и Item модели?

  4. Есть ли другой подход к этому?

Заранее спасибо!

...