В моем приложении есть курсы, в которых есть шаги.(Пользователь продолжает курс, просматривая шаги по порядку)
Но есть много типов шагов (Викторина, Текст, Видео ... и т. Д.).В этом примере я покажу 2 шага.
Вот мой дизайн базы данных / модели на данный момент:
steps
- id
- step_type_id
- client_id
- title
- summary
- position
Отношения :
- принадлежит_: клиент
- принадлежит_то: step_type
- has_one: step_quiz
- has_one step_text
step_quizzes
- id
- step_id
- инструкции
- correct_to_pass
- retakes_allowed
- time_limit
Отношения :
- принадлежат: step
- has_many: quiz_questions
step_texts
Отношения :
ItМне предлагали до этого, что это полиморфные отношения, но я думаю, что яне вижу, как это.Я рассматриваю это как отношение наследования, в котором тип подэтапа наследует основную информацию из таблицы шагов.Может ли это быть смоделировано по-другому?