我正在尝试构建一个简单的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类的关系。
我很困惑,因为我的大多数数据透视表都包含了两个表的ID,这两个表以多对多的方式连接在一起,并且通常没有其他关系。
我在想这个错误的方式吗?关于何时创建模型以及何时不需要模型,是否有“最佳实践”?
答案 0 :(得分:0)
在Laravel中使用3NF,您不必为关系建立模型。 Laravel提供了Eloquent ORM,它将提供关系而无需建立数据透视表模型。
雄辩的ORM还为您提供了一种访问数据透视表上的数据的方法。 (Defining The Inverse Of The Relationship)