Использование 3NF в ORM Laravel - PullRequest
       71

Использование 3NF в ORM Laravel

0 голосов
/ 11 сентября 2018

Я пытаюсь создать простое приложение Laravel. Моя модель данных выглядит следующим образом:

ENTITIES: 
Project, Requirements, ProjectRequirementStatus

RELATIONSHIPS:
A Project has many Requirements
A requirement belongs to many Projects as a "ProjectRequirement"
A "ProjectRequirement" has one ProjectRequirementStatus
A ProjectRequirementStatus belongs to many Projects

TABLES:
projects
requirements
project_requirements
project_requirement_statuses

MODELS:
Project, Requirements, ProjectRequirementStatus

Мой вопрос:

Неправильно ли создавать модель для класса отношений? В этом случае мне нужно будет создать модель ProjectRequirement и определить отношение к классу ProjectRequirementStatus.

Я в замешательстве, потому что большинство моих сводных таблиц содержат идентификаторы двух таблиц, которые они объединяют во множество ко многим, и, как правило, никаких дополнительных отношений.

Думаю ли я об этом неправильно? Существуют ли "лучшие практики" в отношении того, когда модель создается, а когда она не нужна?

1 Ответ

0 голосов
/ 11 сентября 2018

Используя 3NF в Laravel, вам не нужно создавать модели для отношений. Laravel предоставляет Eloquent ORM , который обеспечит взаимосвязи без необходимости создания моделей сводных таблиц.

Eloquent ORM также предоставляет вам доступ к данным в сводных таблицах. ( Определение обратной связи )

...