在Laravel 5.2中,假设我在两个模型(Post
和Tag
)之间有一个ManyToMany
关系(为了示例)。 但是,它们之间的数据透视表也与另一个表有关系:
posts:
id
name:
tags:
id
name:
posts_tags:
post_id
tag_id
priority_id
priorities
id:
value:
如您所见,posts_tags
表示Post
和Tag
之间的many-to-many
关系。 但是,该关系的实例也与Priorities
有One To Many
关系
我如何处理在 Eloquent 中建立这种关系?
目前,我在 Post
和 Tag
之间保持了ManyToMany
,但是,我现在只是将priority_id
作为属性存储在数据透视表上。 Priority
只有一个ID
和一个Name
,所以我选择将Priority
的映射存储在Laravel配置文件中。 所以现在,当我拉取特定Post
和Tag
的记录时,我可以priority_id
拉取为一列并将其映射到配置中的值,而不是将此数据存储为数据库中的显式关系:
<?php
return [
'priorities' => [
1 => 'first value',
2 => 'second value',
3 => 'third value',
// etc
]
];